Swagger3.0与Swagger2对比
前言
在寫項目的時候,想到swagger3已經(jīng)更新了,于是想著嘗鮮使用下,的確省去了很多配置。
這里寫下使用流程。
參考:Springfox 3.0.0(包含springfox-swagger2-3.0.0)即OpenAPI 3的發(fā)布與系統(tǒng)集成
官網(wǎng)地址:https://swagger.io/resources/open-api/
使用流程
1.導(dǎo)入Maven坐標(biāo)
優(yōu)化:openapi3依賴添加,現(xiàn)在非常方便,不像以往2.9.2版本需要好幾個依賴,現(xiàn)在只需添加一個
2.配置
推薦配置文件和代碼分離
注解的更改:由之前的@Swagger2更改為@EnableOpenApi
Docket構(gòu)造函數(shù)中的DocumentationType指向更改:由之前的DocumentationType.SWAGGER_2 更改為DocumentationType.OAS_30
對于掃描路徑部分可以自行選擇(當(dāng)項目人多的時候可以自由擴展,人少就自行安排)
paths(PathSelectors.regex(“asds”)
.or(PathSelectors.regex(“adsd”))
.or(…)
)
此外還具備swagger進行授權(quán)配置,在開發(fā)環(huán)境的基礎(chǔ)上進一步封裝
@PropertySource(value = {"classpath:/config/Swagger3.properties"}) @EnableOpenApi @Configuration public class Swagger3Config {@Value("${nature.restApi.enabled}")private Boolean enable;@Value("${application.name}")private String applicationName;@Value("${application.version}")private String applicationVersion;@Value("${application.description}")private String applicationDescription;@Value("${application.group01}")private String applicationGroup01;@Value("${application.apis.selector}")private String selector;@Beanpublic Docket docket() {return new Docket(DocumentationType.OAS_30).apiInfo(apiInfo()).groupName(applicationGroup01).select().apis(RequestHandlerSelectors.basePackage(selector)).paths(PathSelectors.any()).build();}private ApiInfo apiInfo() {return new ApiInfoBuilder().title(applicationName).description(applicationDescription).version(applicationVersion).build();}}對應(yīng)的配置文件信息
是否開啟swagger,開發(fā)環(huán)境打開,線上關(guān)閉
nature.restApi.enabled=true
項目名稱
application.name=SecKill-應(yīng)用服務(wù)API
項目版本信息
application.version=1.0
項目描述信息
application.description=秒殺-API接口文檔
分組信息(可自行添加)
application.group01=lyh
掃描路徑選擇
application.apis.selector=com.gan.springseckill.controller
總結(jié)
以上是生活随笔為你收集整理的Swagger3.0与Swagger2对比的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java:大陆号码,香港号码,澳门号码,
- 下一篇: 普罗米修斯监控mysql数据库实战