Spring Boot 中使用 Swagger()

  本篇文章为你整理了Spring Boot 中使用 Swagger()的详细内容,包含有 Spring Boot 中使用 Swagger,希望能帮助你了解 Spring Boot 中使用 Swagger。

  前后端分离开发,后端需要编写接⼝说明⽂档,会耗费⽐较多的时间。
 

  swagger 是⼀个⽤于⽣成服务器接⼝的规范性⽂档,并且能够对接⼝进⾏测试的⼯具。

  ⽣成接⼝说明⽂档

  对接⼝进⾏测试

  
// 设置哪个包下的类需要生成文档

   .apis(RequestHandlerSelectors.basePackage("com.luis.fmmall.controller"))

   .paths(PathSelectors.any()) // 定义哪些路径的接口需要生成文档

   .build();

   * 设置文档信息

   private ApiInfo apiInfo() {

   return new ApiInfoBuilder()

   .title("xxx接口文档")

   .description("这里是相关描述")

   .version("1.0")

   .contact(new Contact("luis",

   "https:///luisblog",

   "xxx@qq.com"))

   .build();

  

 

 

  
@RequestMapping("/user")

  @Api(tags = "用户管理", value = "提供用户的登陆、注册、修改等功能") //类说明

  public class UserController {

   @Resource

   private UserService userService;

   @GetMapping("/login")

   @ApiOperation(value = "登陆验证", notes = "用户登陆检查") //方法名说明

   @ApiImplicitParams({ //参数说明

   @ApiImplicitParam(dataType = "string", name = "username", value = "用户名", required = true),

   @ApiImplicitParam(dataType = "string", name = "password", value = "用户密码", required = false, defaultValue = "123")

   public ResultVo login(@RequestParam("username") String name,

   @RequestParam(value = "password", defaultValue = "123") String pwd) {

   return userService.checkLogin(name, pwd);

  

 

 

  
启动 SpringBoot 应用,访问 http://localhost:8080/swagger-ui.html

  效果如下:

  
@Api:类注解,使用在控制器类上,对类进行说明

  控制器类 UserController 示例:

  

@Api(tags = "用户管理", value = "提供用户的登陆、注册、修改等功能") //类说明

 

  public class UserController {

  

 

  
@ApiImplicitParam 和 @ApiImplicitParams:方法注解,使用在方法上,对方法的形参进行说明

  单个形参使用 @ApiImplicitParam,多个形参使用 @ApiImplicitParams

  控制器类 UserController 的 login 方法示例:

  

@GetMapping("/login")

 

  @ApiOperation(value = "登陆验证", notes = "用户登陆检查") //方法名说明

  @ApiImplicitParams({ //参数说明

   @ApiImplicitParam(dataType = "string", name = "username", value = "用户名", required = true),

   @ApiImplicitParam(dataType = "string", name = "password", value = "用户密码", required = false, defaultValue = "123")

  public ResultVo login(@RequestParam("username") String name,

   @RequestParam(value = "password", defaultValue = "123") String pwd) {

   return userService.checkLogin(name, pwd);

  

 

  
@ApiModel 和 @ApiModelProperty:当接⼝的形参或返回值为对象类型时,在实体类中添加此注解说明

  接口的返回值为 ResultVo 对象示例:

  

@Data

 

  @NoArgsConstructor

  @AllArgsConstructor

  @ApiModel(value = "ResultVo 对象", description = "返回给前端的封装数据") //返回的类说明

  public class ResultVo {

   // 响应给前端的状态码

   @ApiModelProperty("响应状态码") //属性说明

   private int code;

   // 响应给前端的提示信息

   @ApiModelProperty("提示信息") //属性说明

   private String msg;

   // 响应给前端的数据

   @ApiModelProperty("数据") //属性说明

   private Object data;

  

 

  接口的形参为 User 实体对象示例:

  

@Data

 

  @NoArgsConstructor

  @AllArgsConstructor

  @ApiModel(value = "User 对象",description = "⽤户/买家信息")

  public class User {

   @ApiModelProperty(dataType = "int",required = false)

   private int userId;

   @ApiModelProperty(dataType = "String",required = true, value = "⽤

   户注册账号")

   private String userName;

   @ApiModelProperty(dataType = "String",required = true, value = "⽤

   户注册密码")

   private String userPwd;

   @ApiModelProperty(dataType = "String",required = true, value = "⽤

   户真实姓名")

   private String userRealname;

   @ApiModelProperty(dataType = "String",required = true, value = "⽤

   户头像url")

   private String userImg;

  

 

  
swagger-ui 插件是一款 UI 美化插件,是基于 swagger 的。

  之前使用的默认 swagger 文档和调试页面如果使用起来不太顺畅,可以试试这款 swagger-ui 插件。

  以上就是Spring Boot 中使用 Swagger()的详细内容,想要了解更多 Spring Boot 中使用 Swagger的内容,请持续关注盛行IT软件开发工作室。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: