教你怎么用SpringBoot整合Swagger作為API
前言
相信無論是前端還是后端開發(fā),都或多或少地被接口文檔折磨過。前端經(jīng)常抱怨后端給的接口文檔與實(shí)際情況不一致。后端又覺得編寫及維護(hù)接口文檔會耗費(fèi)不少精力,經(jīng)常來不及更新。其實(shí)無論是前端調(diào)用后端,還是后端調(diào)用后端,都期望有一個好的接口文檔。但是這個接口文檔對于程序員來說,就跟注釋一樣,經(jīng)常會抱怨別人寫的代碼沒有寫注釋,然而自己寫起代碼起來,最討厭的,也是寫注釋。所以僅僅只通過強(qiáng)制來規(guī)范大家是不夠的,隨著時間推移,版本迭代,接口文檔往往很容易就跟不上代碼了。而自動生成接口文檔的框架就是我們今天的主角Swagger!
一、基本使用
使用時需要導(dǎo)入下面的依賴:
<!--引入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( "云上實(shí)驗(yàn)室的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.給實(shí)體類加入下面的注解
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的詳細(xì)過程
- 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)文章
RocketMQ設(shè)計(jì)之故障規(guī)避機(jī)制
這篇文章主要介紹了RocketMQ設(shè)計(jì)之故障規(guī)避機(jī)制,故障規(guī)避機(jī)制就是用來解決當(dāng)Broker出現(xiàn)故障,Producer不能及時感知而導(dǎo)致消息發(fā)送失敗的問題,下面詳細(xì)介紹需要的小伙伴可以參考一下2022-03-03IDEA2022 提示更新 TKK失敗請檢查網(wǎng)絡(luò)連接的問題
這篇文章主要介紹了IDEA2022 提示:更新 TKK 失敗,請檢查網(wǎng)絡(luò)連接,本文給大家分享解決方案,對idea2022提示更新TKK失敗感興趣的朋友跟隨小編一起看看吧2022-11-11使用filter實(shí)現(xiàn)url級別內(nèi)存緩存示例
這篇文章主要介紹了使用filter實(shí)現(xiàn)url級別內(nèi)存緩存示例,只需要一個靜態(tài)類,在filter中調(diào)用,也可以全部寫到filt里面??梢愿鶕?jù)查詢參數(shù)分別緩存,需要的朋友可以參考下2014-03-03springboot多項(xiàng)目結(jié)構(gòu)實(shí)現(xiàn)
本文主要介紹了springboot多項(xiàng)目結(jié)構(gòu)實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-01-01java實(shí)現(xiàn)賬號登錄時發(fā)送郵件通知
這篇文章主要為大家詳細(xì)介紹了java如何實(shí)現(xiàn)在賬號登錄時發(fā)送郵件通知的功能,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-09-09SpringBoot自動配置特點(diǎn)與原理詳細(xì)分析
這篇文章主要介紹了SpringBoot自動配置原理分析,SpringBoot是我們經(jīng)常使用的框架,那么你能不能針對SpringBoot實(shí)現(xiàn)自動配置做一個詳細(xì)的介紹。如果可以的話,能不能畫一下實(shí)現(xiàn)自動配置的流程圖。牽扯到哪些關(guān)鍵類,以及哪些關(guān)鍵點(diǎn)2022-08-08Java編程經(jīng)典小游戲設(shè)計(jì)-打磚塊小游戲源碼
這篇文章主要介紹了Java編程經(jīng)典小游戲設(shè)計(jì)-打磚塊小游戲源碼,還是挺不錯的,具有一定參考價值,需要的朋友可以了解下。2017-11-11