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

 更新时间:2019年05月12日 11:49:04   作者:穷则独善其身_达则兼济天下  
这篇文章主要介绍了SpringBoot结合Swagger2自动生成api文档的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

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

  <dependency>
      <groupId>io.springfox</groupId>
      <artifactId>springfox-swagger2</artifactId>
      <version>2.7.0</version>
    </dependency>

    <dependency>
      <groupId>io.springfox</groupId>
      <artifactId>springfox-swagger-ui</artifactId>
      <version>2.7.0</version>
    </dependency>

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();
  }
}

实体类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 {

  List<User>lists=new ArrayList<>();

  @GetMapping(value ="getAllUser" )
  @ApiOperation(value = "用户列表",notes = "查询所有已注册过的用户详细信息")
  public List<User> 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)

 

在类中再添加一个方法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)

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

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

汉化成中文文档

在swagger相关的jar包

 

 

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

 

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

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

<!--国际化操作:选择中文版 -->
 <script src='webjars/springfox-swagger-ui/lang/translator.js' type='text/javascript'></script>
 <script src='webjars/springfox-swagger-ui/lang/zh-cn.js' type='text/javascript'></script>

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

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

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

相关文章

  • 小米Java程序员第二轮面试10个问题 你是否会被刷掉?

    小米Java程序员第二轮面试10个问题 你是否会被刷掉?

    小米Java程序员第二轮面试10个问题,你是否会被刷掉?掌握好基础知识,祝大家面试顺利
    2017-11-11
  • idea前后跳转箭头的快捷键

    idea前后跳转箭头的快捷键

    这篇文章主要介绍了idea前后跳转箭头的快捷键,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-02-02
  • JavaWeb中Session对象的学习笔记

    JavaWeb中Session对象的学习笔记

    在WEB开发中,服务器可以为每个用户浏览器创建一个会话对象,即session对象,这篇文章就为大家详细介绍Session对象的定义、实现原理等基础知识点,感兴趣的小伙伴们可以参考一下
    2016-05-05
  • 通过IEAD+Maven快速搭建SSM项目的过程(Spring + Spring MVC + Mybatis)

    通过IEAD+Maven快速搭建SSM项目的过程(Spring + Spring MVC + Mybatis)

    这篇文章主要介绍了通过IEAD+Maven快速搭建SSM项目的过程(Spring + Spring MVC + Mybatis),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-01-01
  • Java中Cron表达式的生成解析及计算的工具类完整代码

    Java中Cron表达式的生成解析及计算的工具类完整代码

    这篇文章主要给大家介绍了关于Java中Cron表达式的生成解析及计算工具类的相关资料,Cron表达式是一个字符串,字符串空格分割,每一个域代表一个含义,一个cron表达式有至少6个,需要的朋友可以参考下
    2023-12-12
  • linux重启java服务的脚本

    linux重启java服务的脚本

    这篇文章主要介绍了linux重启java服务的脚本,本文分步骤通过shell脚本给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-07-07
  • Java数据导入功能之读取Excel文件实例

    Java数据导入功能之读取Excel文件实例

    这篇文章主要介绍了Java数据导入功能之读取Excel文件实例,本文给出了jar包的下载地址以及读取Excel文件的代码实例,需要的朋友可以参考下
    2015-06-06
  • Springboot整合SpringSecurity的完整案例详解

    Springboot整合SpringSecurity的完整案例详解

    Spring Security是基于Spring生态圈的,用于提供安全访问控制解决方案的框架,Spring Security登录认证主要涉及两个重要的接口 UserDetailService和UserDetails接口,本文对Springboot整合SpringSecurity过程给大家介绍的非常详细,需要的朋友参考下吧
    2024-01-01
  • Java中反射的"暴破"机制(SetAccessible方法)详解

    Java中反射的"暴破"机制(SetAccessible方法)详解

    这篇文章主要为大家详细介绍了Java中反射的"暴破"机制,以及如何利用这一机制实现访问非公有属性,方法,和构造器,文中示例代码讲解详细,感兴趣的可以了解一下
    2022-08-08
  • 浅析Java中的继承与组合

    浅析Java中的继承与组合

    本文将介绍组合和继承的概念及区别,并从多方面分析在写代码时如何进行选择。文中通过示例代码介绍的很详细,有需要的朋友可以参考借鉴,下面来一起看看吧。
    2016-12-12

最新评论