SpringBoot结合Swagger2自动生成api文档的方法
程序员文章站
2024-02-24 22:17:10
首先在pom.xml中添加如下依赖,其它web,lombok等依赖自行添加
首先在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中自定义中文名称
另一种生成文档的方式请参见
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
上一篇: HDU 1317 XYZZY SPFA
推荐阅读
-
springboot 通过代码自动生成pid的方法
-
JApiDocs 无需额外注解的 SpringBoot API文档生成工具踩过的坑,解放接口文档的编写
-
springboot 通过代码自动生成pid的方法
-
Java利用Swagger2自动生成对外接口的文档
-
Swagger2Markup 生成PDF、HTML格式的API文档方法整理(中文支持)
-
SpringBoot+Swagger-ui自动生成API文档
-
Java利用Swagger2自动生成对外接口的文档
-
SpringBoot结合Swagger2自动生成api文档的方法
-
详解SpringBoot结合swagger2快速生成简单的接口文档
-
PhpDocumentor 2安装以及生成API文档的方法