SpringBoot 整合 Swagger2 | 自定义 swagger-spring-boot-starter
- 注: 传统的后端开发人员与其他前端或APP端需共同制定API接口文档,Swagger2 将文档变成可更新的在线版本,并且支持在线测试可以提高沟通效率和规范接口说明.
- 自定义
swagger-spring-boot-starter的依赖,我所知道的分别有
1 | <dependency> |
1 | <dependency> |
前提: 创建 SpringBoot 项目(也可以是SpringMVC项目,配置方法另行百度咯)
第一种:使用 Swagger 原生依赖配置
创建SpringBoot应用,添加pom.xml依赖
项目创建完成完整依赖如下:
1 | <dependency> |
创建 Swagger2配置类
创建
API组
- 注: 本文创建的是API组,故Swagger2Config配置类中有多个。只需要创建单个API组时无需创建两个 Docke @Bean实体类
1 | package com.learning.config; |
修改
Application.class中增加@Import
1 | // 增加 Class 类注解 |
创建带有Swagger注解实体类
1 | package com.learning.entity.vo; |
创建带有Swagger注解的controller
另一个Controller与下面的一致,就不贴代码了
1 | package com.learning.controller; |
RESTful接口
Swagger注解说明
@Api: 描述Controller
value:文档页面不显示
tags:数组类型({“…”,”…”});显示
@ApiIgnore: 忽略该Controller,指不对当前类做扫描@ApiOperation: 描述Controller类中的method接口@ApiParam: 单个参数描述,与@ApiImplicitParam不同的是,他是写在参数左侧的。如(@ApiParam(name = "username",value = "用户名") String username)@ApiModel: 描述POJO对象@ApiProperty: 描述POJO对象中的属性值@ApiImplicitParam: 描述单个入参信息@ApiImplicitParams: 描述多个入参信息@ApiResponse: 描述单个出参信息@ApiResponses: 描述多个出参信息@ApiError: 接口错误所返回的信息
第二种: 使用自定义 Swagger 依赖配置
创建SpringBoot项目
添加pom.xml中的依赖
- 注: 替换上述的
swagger dependency为下方依赖即可**
1 | <dependency> |
修改
application.yml配置文件,定义在线接口显示内容
1 | spring: |
修改主函数Application.class,添加@EnableSwagger2Doc注解
- 注: 只需要按照
Swagger的注解创建controller与entity即可,无需SwaggerConfig配置类