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

