简单使用Swagger(2)
导读:简单使用Swagger,3、 常用注解 通过注解可以控制生成的接口文档,使接口文档拥有更好的可读性,常用注解如下: 注解 说明 @Api 用在类上,例如 Controller,表示对类的说
简单使用Swagger
3、 常用注解
通过注解可以控制生成的接口文档,使接口文档拥有更好的可读性,常用注解如下:
| 注解 | 说明 |
|---|---|
| @Api | 用在类上,例如 Controller,表示对类的说明 |
| @ApiModel | 用在类上,例如 entity、DTO、VO |
| @ApiModelProperty | 用在属性上,描述属性信息 |
| @ApiOperation | 用在方法上,例如 Controller 的方法,说明方法的用途、作用 |
接下来,使用上述注解,生成可读性更好的接口文档
在 sky-pojo 模块中
EmployeeLoginDTO.java
@Data
@ApiModel(description = "员工登录时传递的数据模型")
public class EmployeeLoginDTO implements Serializable {
@ApiModelProperty("用户名")
private String username;
@ApiModelProperty("密码")
private String password;
}
EmployeeLoginVo.java
package com.sky.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@ApiModel(description = "员工登录返回的数据格式")
public class EmployeeLoginVO implements Serializable {
@ApiModelProperty("主键值")
private Long id;
@ApiModelProperty("用户名")
private String userName;
@ApiModelProperty("姓名")
private String name;
@ApiModelProperty("jwt令牌")
private String token;
}
在 sky-server 模块中
EmployeeController.java
package com.sky.controller.admin;
import com.sky.constant.JwtClaimsConstant;
import com.sky.dto.EmployeeLoginDTO;
import com.sky.entity.Employee;
import com.sky.properties.JwtProperties;
import com.sky.result.Result;
import com.sky.service.EmployeeService;
import com.sky.utils.JwtUtil;
import com.sky.vo.EmployeeLoginVO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.HashMap;
import java.util.Map;
/**
* 员工管理
*/
@RestController
@RequestMapping("/admin/employee")
@Slf4j
@Api(tags = "员工相关接口")
public class EmployeeController {
@Autowired
private EmployeeService employeeService;
@Autowired
private JwtProperties jwtProperties;
/**
* 登录
*
* @param employeeLoginDTO
* @return
*/
@PostMapping("/login")
@ApiOperation(value = "员工登录")
public Result<EmployeeLoginVO> login(@RequestBody EmployeeLoginDTO employeeLoginDTO) {
//..............
}
/**
* 退出
*
* @return
*/
@PostMapping("/logout")
@ApiOperation("员工退出")
public Result<String> logout() {
return Result.success();
}
}
相关阅读
-
如何设计一个线程池 一个简单的线程池设计思路
今天小编详解如何设计一个线程池的相关介绍,继续往下看吧! 设计一个线程池涉及到多个方面,包括线程的创建与销毁、任务的提交与执行、线程间的通信等。 以下不念给出的是一个简单的
-
迅睿怎么调用缩略图 迅睿CMS列表页调用多张缩略图代码教程
我们在 使用迅睿CMS建站的时候,有时候可能需要实现列表页调用多张缩率图的显示效果 ,比如:头条、百度等大型网站就是这样的,那么我们如何实现调用呢?下面IT袋小编就给大家分享调用
-
数据中心是干什么的? 数据中心主要组成部分
今天为大家介绍数据中心是干什么的IT技巧方面的经验,一起来看看吧! 数据中心是一个用于存储、处理和管理大量计算机系统和相关设备的专用设施。 数据中心为各种应用和服务提供了基础
-
网站被DDoS攻击 一般要选择多大的服务器防御?
IT袋网网为你介绍网站被DDoS攻击的相关介绍,下面IT袋网为您详细介绍 如果服务器没有配备DDoS防御,那么一旦遭受到恶意流量攻击时,很可能会服务器崩溃,严重者给企业带来巨大损失。 为了


