注意
:
文末有最新
Java实战
项目
和
面试题
# swagger介绍
对于 Rest API 来说很重要的一部分内容就是文档,Swagger 为我们提供了一套通过代码和注解自动生成文档的方法,这一点对于保证 API 文档的及时性将有很大的帮助。
Swagger 是一套基于 OpenAPI 规范(OpenAPI Specification,OAS)构建的开源工具,可以帮助我们设计、构建、记录以及使用 Rest API。
OAS本身是一个API规范,它用于描述一整套API接口,包括一个接口是哪种请求方式、哪些参数、哪些header等,都会被包括在这个文件中。它在设计的时候通常是YAML格式,这种格式书写起来比较方便,而在网络中传输时又会以json形式居多,因为json的通用性比较强。
Swagger 主要包含了以下三个部分:
# springfox介绍
由于Spring的流行,Marty Pitt编写了一个基于Spring的组件swagger-springmvc,用于将swagger集成到springmvc中来,而springfox则是从这个组件发展而来。
通常SpringBoot项目整合swagger需要用到两个依赖:springfox-swagger2和springfox-swagger-ui,用于自动生成swagger文档。
# SpringFox 3.0.0 发布
官方说明:
新特性:
此版本的亮点:
兼容性说明:
注意:
应用主类增加注解@EnableOpenApi,删除之前版本的SwaggerConfig.java。
启动项目,访问地址:http://localhost:8080/swagger-ui/index.html,注意2.x版本中访问的地址的为http://localhost:8080/swagger-ui.html
# 整合使用
Maven项目中引入springfox-boot-starter依赖:
io.springfox
springfox-boot-starter
3.0.0
application.yml配置
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}
使用@EnableOpenApi注解,启用swagger配置
@EnableOpenApi
@Configuration
public class SwaggerConfiguration {
}
自定义swagger配置类SwaggerProperties
@Component
@ConfigurationProperties("swagger")