教你怎么用SpringBoot整合Swagger作為API
前言
相信無(wú)論是前端還是后端開(kāi)發(fā),都或多或少地被接口文檔折磨過(guò)。前端經(jīng)常抱怨后端給的接口文檔與實(shí)際情況不一致。后端又覺(jué)得編寫及維護(hù)接口文檔會(huì)耗費(fèi)不少精力,經(jīng)常來(lái)不及更新。其實(shí)無(wú)論是前端調(diào)用后端,還是后端調(diào)用后端,都期望有一個(gè)好的接口文檔。但是這個(gè)接口文檔對(duì)于程序員來(lái)說(shuō),就跟注釋一樣,經(jīng)常會(huì)抱怨別人寫的代碼沒(méi)有寫注釋,然而自己寫起代碼起來(lái),最討厭的,也是寫注釋。所以僅僅只通過(guò)強(qiáng)制來(lái)規(guī)范大家是不夠的,隨著時(shí)間推移,版本迭代,接口文檔往往很容易就跟不上代碼了。而自動(dòng)生成接口文檔的框架就是我們今天的主角Swagger!
一、基本使用
使用時(shí)需要導(dǎo)入下面的依賴:
<!--引入swagger,自動(dòng)生成api說(shuō)明文檔--> <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 //開(kāi)啟swagger2 public class SwaggerConfig { }
瀏覽器訪問(wèn)http://localhost:8910/swagger-ui.html
,即可可以看到下面的界面:
二、自定義描述內(nèi)容
@Configuration @EnableSwagger2 //開(kāi)啟swagger2 public class SwaggerConfig { @Bean public Docket docket(){ return new Docket(DocumentationType.SWAGGER_2) .apiInfo(apiInfo()) //是否啟動(dòng)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() 過(guò)濾什么路徑 // .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文檔說(shuō)明", "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)境中開(kāi)啟swagger,其他環(huán)境不開(kāi)啟swagger
,我們只需要給Docket加上下面的environment參數(shù),再用acceptsProfiles方法來(lái)判斷環(huán)境是否符合要求!
使用的效果為:
三、給下面的models和接口一些提示信息
1.給實(shí)體類加入下面的注解
http://localhost:8910/swagger-ui.html
的models就會(huì)呈現(xiàn)下面的界面:
2.給controller加上下面的注解
就會(huì)出現(xiàn)下面的提示信息:
到此這篇關(guān)于教你怎么用SpringBoot整合Swagger作為API的文章就介紹到這了,更多相關(guān)SpringBoot整合Swagger作為API內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- springboot整合swagger3和knife4j的詳細(xì)過(guò)程
- Springboot整合Swagger3全注解配置(springdoc-openapi-ui)
- Spring?Boot?2.6.x整合Swagger啟動(dòng)失敗報(bào)錯(cuò)問(wèn)題的完美解決辦法
- 關(guān)于springboot整合swagger問(wèn)題及解決方法
- spring boot-2.1.16整合swagger-2.9.2 含yml配置文件的代碼詳解
- SpringBoot整合Swagger3生成接口文檔過(guò)程解析
- Spring Boot整合swagger使用教程詳解
- Swagger3.0 整合spring boot2.7x避免swagger2.0與boot2.7沖突問(wèn)題
相關(guān)文章
RocketMQ設(shè)計(jì)之故障規(guī)避機(jī)制
這篇文章主要介紹了RocketMQ設(shè)計(jì)之故障規(guī)避機(jī)制,故障規(guī)避機(jī)制就是用來(lái)解決當(dāng)Broker出現(xiàn)故障,Producer不能及時(shí)感知而導(dǎo)致消息發(fā)送失敗的問(wèn)題,下面詳細(xì)介紹需要的小伙伴可以參考一下2022-03-03java微信開(kāi)發(fā)API第一步 服務(wù)器接入
這篇文章主要為大家分享了java微信開(kāi)發(fā)API的第一步操作服務(wù)器接入,感興趣的小伙伴們可以參考一下2016-05-05IDEA2022 提示更新 TKK失敗請(qǐng)檢查網(wǎng)絡(luò)連接的問(wèn)題
這篇文章主要介紹了IDEA2022 提示:更新 TKK 失敗,請(qǐng)檢查網(wǎng)絡(luò)連接,本文給大家分享解決方案,對(duì)idea2022提示更新TKK失敗感興趣的朋友跟隨小編一起看看吧2022-11-11使用filter實(shí)現(xiàn)url級(jí)別內(nèi)存緩存示例
這篇文章主要介紹了使用filter實(shí)現(xiàn)url級(jí)別內(nèi)存緩存示例,只需要一個(gè)靜態(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),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-01-01java實(shí)現(xiàn)賬號(hào)登錄時(shí)發(fā)送郵件通知
這篇文章主要為大家詳細(xì)介紹了java如何實(shí)現(xiàn)在賬號(hào)登錄時(shí)發(fā)送郵件通知的功能,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-09-09Spring?boot?整合Logback過(guò)程示例解析
這篇文章主要為大家介紹了Spring?boot?整合Logback的過(guò)程及示例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-02-02SpringBoot自動(dòng)配置特點(diǎn)與原理詳細(xì)分析
這篇文章主要介紹了SpringBoot自動(dòng)配置原理分析,SpringBoot是我們經(jīng)常使用的框架,那么你能不能針對(duì)SpringBoot實(shí)現(xiàn)自動(dòng)配置做一個(gè)詳細(xì)的介紹。如果可以的話,能不能畫一下實(shí)現(xiàn)自動(dòng)配置的流程圖。牽扯到哪些關(guān)鍵類,以及哪些關(guān)鍵點(diǎn)2022-08-08Java編程經(jīng)典小游戲設(shè)計(jì)-打磚塊小游戲源碼
這篇文章主要介紹了Java編程經(jīng)典小游戲設(shè)計(jì)-打磚塊小游戲源碼,還是挺不錯(cuò)的,具有一定參考價(jià)值,需要的朋友可以了解下。2017-11-11