教你怎么用SpringBoot整合Swagger作為API
前言
相信無論是前端還是后端開發(fā),都或多或少地被接口文檔折磨過。前端經(jīng)常抱怨后端給的接口文檔與實際情況不一致。后端又覺得編寫及維護接口文檔會耗費不少精力,經(jīng)常來不及更新。其實無論是前端調(diào)用后端,還是后端調(diào)用后端,都期望有一個好的接口文檔。但是這個接口文檔對于程序員來說,就跟注釋一樣,經(jīng)常會抱怨別人寫的代碼沒有寫注釋,然而自己寫起代碼起來,最討厭的,也是寫注釋。所以僅僅只通過強制來規(guī)范大家是不夠的,隨著時間推移,版本迭代,接口文檔往往很容易就跟不上代碼了。而自動生成接口文檔的框架就是我們今天的主角Swagger!
一、基本使用
使用時需要導入下面的依賴:
<!--引入swagger,自動生成api說明文檔--> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.9.2</version> </dependency> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger-ui</artifactId> <version>2.9.2</version> </dependency>
然后書寫下面的配置類即可完成配置!
@Configuration @EnableSwagger2 //開啟swagger2 public class SwaggerConfig { }
瀏覽器訪問http://localhost:8910/swagger-ui.html
,即可可以看到下面的界面:
二、自定義描述內(nèi)容
@Configuration @EnableSwagger2 //開啟swagger2 public class SwaggerConfig { @Bean public Docket docket(){ return new Docket(DocumentationType.SWAGGER_2) .apiInfo(apiInfo()) //是否啟動swagger // .enable(false) .groupName("盧澤龍") .select() //RequestHandlerSelectors:配置要掃描的接口方式 // basePackage : 指定要掃描的包 .apis(RequestHandlerSelectors.basePackage("org.lzl.laboratory.controller")) // any:掃描全部 // .apis(RequestHandlerSelectors.any()) // none:不掃描 // .apis(RequestHandlerSelectors.none()) // withClassAnnotation:掃描類上的注解 // .apis(RequestHandlerSelectors.withClassAnnotation(RestController.class)) // withMethodAnnotation:掃描方法上的注解 // .apis(RequestHandlerSelectors.withMethodAnnotation(GetMapping.class)) //path() 過濾什么路徑 // .paths(PathSelectors.ant("/lzl/**")) .build(); } //配置swagger信息 ==> apiInfo private ApiInfo apiInfo(){ //作者信息 Contact contact = new Contact("盧澤龍","https://blog.csdn.net/MoastAll","382491212@qq.com"); return new ApiInfo( "云上實驗室的API文檔說明", "abcdefg", "v1.0", "https://blog.csdn.net/MoastAll", contact, "Apache 2.0", "http://www.apache.org/licenses/LICENSE-2.0", new ArrayList() ); } }
其中如果有這樣的需求:在dev,test環(huán)境中開啟swagger,其他環(huán)境不開啟swagger
,我們只需要給Docket加上下面的environment參數(shù),再用acceptsProfiles方法來判斷環(huán)境是否符合要求!
使用的效果為:
三、給下面的models和接口一些提示信息
1.給實體類加入下面的注解
http://localhost:8910/swagger-ui.html
的models就會呈現(xiàn)下面的界面:
2.給controller加上下面的注解
就會出現(xiàn)下面的提示信息:
到此這篇關(guān)于教你怎么用SpringBoot整合Swagger作為API的文章就介紹到這了,更多相關(guān)SpringBoot整合Swagger作為API內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- springboot整合swagger3和knife4j的詳細過程
- Springboot整合Swagger3全注解配置(springdoc-openapi-ui)
- Spring?Boot?2.6.x整合Swagger啟動失敗報錯問題的完美解決辦法
- 關(guān)于springboot整合swagger問題及解決方法
- spring boot-2.1.16整合swagger-2.9.2 含yml配置文件的代碼詳解
- SpringBoot整合Swagger3生成接口文檔過程解析
- Spring Boot整合swagger使用教程詳解
- Swagger3.0 整合spring boot2.7x避免swagger2.0與boot2.7沖突問題
相關(guān)文章
IDEA2022 提示更新 TKK失敗請檢查網(wǎng)絡連接的問題
這篇文章主要介紹了IDEA2022 提示:更新 TKK 失敗,請檢查網(wǎng)絡連接,本文給大家分享解決方案,對idea2022提示更新TKK失敗感興趣的朋友跟隨小編一起看看吧2022-11-11使用filter實現(xiàn)url級別內(nèi)存緩存示例
這篇文章主要介紹了使用filter實現(xiàn)url級別內(nèi)存緩存示例,只需要一個靜態(tài)類,在filter中調(diào)用,也可以全部寫到filt里面??梢愿鶕?jù)查詢參數(shù)分別緩存,需要的朋友可以參考下2014-03-03springboot多項目結(jié)構(gòu)實現(xiàn)
本文主要介紹了springboot多項目結(jié)構(gòu)實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2023-01-01