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
配置类