SpringBoot结合Swagger2自动生成api文档的方法

首先在pom.xml中添加如下依赖,其它web,lombok等依赖自行添加

成都创新互联公司专业为企业提供常山网站建设、常山做网站、常山网站设计、常山网站制作等企业网站建设、网页设计与制作、常山企业网站模板建站服务,10余年常山做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。

  
      io.springfox
      springfox-swagger2
      2.7.0
    

    
      io.springfox
      springfox-swagger-ui
      2.7.0
    

SwaggerConfig.java是swagger2的配置类

@Configuration
@EnableSwagger2
public class SwaggerConfig {
  @Bean
  public Docket createRestApi() {
    return new Docket(DocumentationType.SWAGGER_2)
        .apiInfo(apiInfo())
        .select()
        .apis(RequestHandlerSelectors.basePackage("cn.niit.controller"))
        .paths(PathSelectors.any())
        .build();
  }

  private ApiInfo apiInfo() {
    return new ApiInfoBuilder()
        .title("Spring Boot中使用Swagger2")
        .description("首次尝试自动生成api文档为后期的前后端分离开发做准备")
        .termsOfServiceUrl("https://www.jianshu.com/u/2f60beddf923")
        .contact("WEN")
        .version("1.0")
        .build();
  }
}

SpringBoot结合Swagger2自动生成api文档的方法

实体类User.java

@Data
@AllArgsConstructor
@NoArgsConstructor
public class User {
  public User(String userName, String password) {
    this.userName = userName;
    this.password = password;
  }

  private Integer id;
  private String userName;
  private String password;
}

新建一个控制类UserController.java,类下有个方法getAllUser

@RestController
@Api(description = "用户管理")
@RequestMapping(value = "/hello",produces = APPLICATION_JSON_VALUE)
public class UserController {

  Listlists=new ArrayList<>();

  @GetMapping(value ="getAllUser" )
  @ApiOperation(value = "用户列表",notes = "查询所有已注册过的用户详细信息")
  public List getAllUser()
  {
  lists.add(new User("wen","999"));
  lists.add(new User(2,"qian","666"));
  return lists;
  }
}

点击localhost:8888/swagger-ui.html(我在application.propertise中的server.port=8888)

 SpringBoot结合Swagger2自动生成api文档的方法

在类中再添加一个方法addUser

 @PostMapping(value = "addUser")
  public User addUser(User user)
  {
    return user;
  }

实体类User.java的属性上添加如下注解

@ApiModelProperty(value = "用户ID")
  private Integer id;
  @ApiModelProperty(value = "用户名")
  private String userName;
  @ApiModelProperty(value = "密码")
  private String password;

创建用户时有些字段我们并不需要,可以加入如下注解

@ApiModelProperty(hidden = true)

SpringBoot结合Swagger2自动生成api文档的方法

在类中再添加一个根据用户id查询用户的方法

  @GetMapping(value = "getUserById/{id}")
  public User getUserById(@ApiParam(value = "用户ID")@PathVariable(value = "id")String id)
  {
    return new User(id,"步惊云","passwordjava");
  }

SpringBoot结合Swagger2自动生成api文档的方法

汉化成中文文档

在swagger相关的jar包

SpringBoot结合Swagger2自动生成api文档的方法 

SpringBoot结合Swagger2自动生成api文档的方法 

把META-INF这个包复制到你当前项目的resources目录下

SpringBoot结合Swagger2自动生成api文档的方法 

这些是关键,剩下多余的包可自行删除

在swagger-ui.html的部分添加如下代码


 
 

汉化完成,我们也可以在zh_cn.js中自定义中文名称

SpringBoot结合Swagger2自动生成api文档的方法

另一种生成文档的方式请参见

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持创新互联。


网站栏目:SpringBoot结合Swagger2自动生成api文档的方法
标题网址:http://pwwzsj.com/article/giodgd.html