SpringBoot项目整合swagger2需要用到两个依赖:springfox-swagger2和springfox-swagger-ui,用于自动生成swagger文档。
-
springfox-swagger2:这个组件的功能用于帮助我们自动生成描述API的json文件
-
springfox-swagger-ui:就是将描述API的json文件解析出来,用一种更友好的方式呈现出来。
此版本的亮点:
-
Spring5,Webflux支持(仅支持请求映射,尚不支持功能端点)。
-
Spring Integration支持。
-
SpringBoot支持springfox Boot starter依赖性(零配置、自动配置支持)。
-
支持OpenApi 3.0.3。
-
零依赖。几乎只需要spring-plugin,swagger-core ,现有的swagger2注释将继续工作并丰富openapi3.0规范。
兼容性说明:
-
需要Java 8
-
需要Spring5.x(未在早期版本中测试)
-
需要SpringBoot 2.2+(未在早期版本中测试)
-
应用主类添加注解@EnableOpenApi (swagger2是@EnableSwagger2)
-
swagger配置类SwaggerProperties.class,与swagger2.xx 版本有差异,具体看下文
-
自定义一个配置类 SwaggerConfiguration.class,看下文
-
访问地址:http://localhost:8080/swagger-ui/index.html
(swagger2.xx版本访问的地址为http://localhost:8080/swagger-ui.html)
=======================================================================
Maven项目中引入springfox-boot-starter依赖:
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-boot-starter</artifactId>
<version>3.0.0</version>
</dependency>
spring:
application:
name: springfox-swagger
server:
port: 8080
# ===== 自定义swagger配置 ===== #
swagger:
enable: true
application-name: ${spring.application.name}
application-version: 1.0
application-description: springfox swagger 3.0整合Demo
try-host: http://localhost:${server.port}