SpringBoot结合Swagger2自动生成api文档

时间:2022-09-04 19:28:07

首先在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)

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;

SpringBoot结合Swagger2自动生成api文档

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

    @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的部分添加如下代码

  <!--国际化操作:选择中文版 -->
<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中自定义中文名称

SpringBoot结合Swagger2自动生成api文档

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

参考

github代码

个人网站

SpringBoot结合Swagger2自动生成api文档的更多相关文章

  1. Spring Boot 项目学习 &lpar;四&rpar; Spring Boot整合Swagger2自动生成API文档

    0 引言 在做服务端开发的时候,难免会涉及到API 接口文档的编写,可以经历过手写API 文档的过程,就会发现,一个自动生成API文档可以提高多少的效率. 以下列举几个手写API 文档的痛点: 文档需 ...

  2. springboot 集成 swagger 自动生成API文档

    Swagger是一个规范和完整的框架,用于生成.描述.调用和可视化RESTful风格的Web服务.简单来说,Swagger是一个功能强大的接口管理工具,并且提供了多种编程语言的前后端分离解决方案. S ...

  3. 使用bee自动生成api文档

    beego中的bee工具可以方便的自动生成api文档,基于数据库字段,自动生成golang版基于beego的crud代码,方法如下: 1.进入到gopath目录的src下执行命令: bee api a ...

  4. 自动生成api文档

    vs2010代码注释自动生成api文档 最近做了一些接口,提供其他人调用,要写个api文档,可是我想代码注释已经写了说明,能不能直接把代码注释生成api?于是找到以下方法 环境:vs2010 先下载安 ...

  5. 试试使用 eolinker 扫描 GitLab 代码注释自动生成 API 文档?

    前言: 一般写完代码之后,还要将各类参数注解写入API文档,方便后续进行对接和测试,这个过程通常都很麻烦,如果有工具可以读取代码注释直接生成API文档的话,那会十分方便. 此前一直都是在使用eolin ...

  6. go实践之swagger自动生成api文档

    文章目录 go实践之swagger自动生成api文档 1.安装需要用到的包 2.接口代码支持swagger 3. 生成swagger接口 go实践之swagger自动生成api文档 作为一个后端开发, ...

  7. Django restful framework中自动生成API文档

    自动生成api文档(不管是函数视图还是类视图都能显示) 1.安装rest_framework_swagger库 pip install django-rest-swagger 2.在项目下的 urls ...

  8. 【转】Django restful framework中自动生成API文档

    转自 https://www.cnblogs.com/sui776265233/p/11350434.html 自动生成api文档(不管是函数视图还是类视图都能显示) 1.安装rest_framewo ...

  9. Spring Boot(九)Swagger2自动生成接口文档和Mock模拟数据

    一.简介 在当下这个前后端分离的技术趋势下,前端工程师过度依赖后端工程师的接口和数据,给开发带来了两大问题: 问题一.后端接口查看难:要怎么调用?参数怎么传递?有几个参数?参数都代表什么含义? 问题二 ...

随机推荐

  1. BZOJ1562——&lbrack;NOI2009&rsqb;变换序列

    1.题意:题意有些难理解 2.分析:我们发现如果要求判断是否合法的话就so easy了,二分图匹配即可,但是我们发现要求输出字典序最小的,那么我们在匈牙利的时候就倒着枚举,另外邻接表中的边一定要排好序 ...

  2. Volley简单封装

    public interface IRequest { /** * 获取头部信息 * * @return */ public Map<String, String> getHeaderMa ...

  3. Android studio在真机上进行调试

    1.在Android Studio中,把app的默认启动目标改为USB device,点击[app]→[app configuration],在[Target Device]选择[USB device ...

  4. UVA11080- Place the Guards&lpar;二分图染色&rpar;

    题目链接 题意:放最少的士兵去监视全部的道路, 但士兵不可相邻,符合的话,就输出最少的士兵数,否则输出-1 思路:事实上就是二分图染色,即黑白染色,然后选择黑白染色最少的那个颜色累加,但要注意可能有多 ...

  5. JQuery中&dollar;&period;ajax&lpar;&rpar;方法参数详解 &lpar;20

    url: 要求为String类型的参数,(默认为当前页地址)发送请求的地址. type: 要求为String类型的参数,请求方式(post或get)默认为get.注意其他http请求方法,例如put和 ...

  6. 使用Mediaplay类写一个播放器

    我们知道android本身播放视频的的能力是有限的..先来一个Demo 另附我的一个还未成熟的播放器,下载地址:http://www.eoemarket.com/soft/370334.html,正在 ...

  7. 玩转X-CTR100 l STM32F4 l 定时器时间测量

    我造*,你造车,创客一起造起来!塔克创新资讯[塔克社区 www.xtark.cn ][塔克博客 www.cnblogs.com/xtark/ ] 本文介绍X-CTR100控制器 使用处理器内部硬件定 ...

  8. SQL ltrim&lpar;&rpar; 和 rtrim&lpar;&rpar; 函数

    LTRIM删除起始空格后返回字符表达式. 语法LTRIM ( character_expression ) 参数character_expression 是字符或二进制数据表达式.character_ ...

  9. 你真的了解Fragment的生命周期吗?

    Android Framwork开发人员中的传奇人物Dianne Hackborn在2010年将Fragment引入了Android,也就是在android3.0之后引入Fragment,他在提交信息 ...

  10. 9、select 语句

    基础语句 select * from tb1; select * from tb1 limit 3; select name,age from tb1; select name,age from tb ...