SpringBoot整合Swagger3.0全過程
一、引言
前后端分離的項(xiàng)目,接口文檔的存在十分重要。與手動(dòng)編寫接口文檔不同,swagger是一個(gè)自動(dòng)生成接口文檔的工具,只需要在pom文件中引入一個(gè)依賴包,然后在代碼中通過注解的方式即可實(shí)現(xiàn)文檔的編寫,畢竟在需求不斷變更的環(huán)境下,手動(dòng)編寫文檔的效率實(shí)在太低且不夠同步,swagger的出現(xiàn),將文檔和代碼融合在一起,再也不需要寫完代碼后再去手動(dòng)修改文檔了。
二、簡(jiǎn)介
Swagger3在Swagger2的基礎(chǔ)上進(jìn)行了部分升級(jí),與swagger2相比新版的swagger3配置更少,使用更加方便。
一個(gè)重要的優(yōu)化是依賴的引入,由之前的多個(gè)依賴變更為一個(gè)依賴,跟隨springboot-starter風(fēng)格,同時(shí)引入了新的開關(guān)注解 @EnableOpenApi 以代替 @EnableSwagger2 。
因此,集成工作變得更加的簡(jiǎn)便了,必要工作只有兩個(gè),添加swagger3的starter依賴包,在springboot主啟動(dòng)類添加 @EnableOpenApi 開關(guān)注解。
三、快速入門
(一)引入依賴
<!-- https://mvnrepository.com/artifact/io.springfox/springfox-boot-starter -->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-boot-starter</artifactId>
<version>3.0.0</version>
</dependency>(二)主啟動(dòng)類添加開關(guān)注解 @EnableOpenApi
作用:表示開啟生成接口文檔功能,只有開啟了OpenApi,才能實(shí)現(xiàn)生成接口文檔的功能
@EnableOpenApi
@SpringBootApplication
public class SwaggerApplication {
public static void main(String[] args) {
SpringApplication.run(SwaggerApplication.class, args);
}
}(三)訪問Swagger界面
訪問地址(默認(rèn)端口號(hào)是8080):http://localhost:8080/swagger-ui/index.html

四、進(jìn)階使用
(一)配置Swagger
// 表明當(dāng)前類是配置類
@Configuration
public class SwaggerConfig {
@Bean
public Docket createRestApi() {
return new Docket(DocumentationType.OAS_30)
.apiInfo(apiInfo())
// 為api選擇啟動(dòng)生成器
.select()
// 指定要生成api文檔的根包
.apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class))
// 路徑配置
.paths(PathSelectors.any())
.build();
}
/**
* 創(chuàng)建一個(gè)ApiInfo對(duì)象
*
* @return
*/
private ApiInfo apiInfo() {
return new ApiInfoBuilder()
// 文檔標(biāo)題
.title("SpringBoot整合Swagger3")
// 簡(jiǎn)介
.description("更多請(qǐng)咨詢服務(wù)開發(fā)者小龍")
// 作者信息:作者姓名、作者地址、作者郵箱
.contact(new Contact("小龍", "https://blog.csdn.net/wangzhilong1996", "123456@qq.com"))
// 版本號(hào)
.version("1.0")
.build();
}
}(二)引入第三方UI包
原生的ui頁面并不美觀,可以使用第三方的ui包來美化頁面,當(dāng)然,市面上的第三方ui包有很多,大家可以找一個(gè)自己喜歡的,不一定用我的。
<!-- swagger 第三方ui包 -->
<dependency>
<groupId>com.github.xiaoymin</groupId>
<artifactId>swagger-bootstrap-ui</artifactId>
<version>1.9.6</version>
</dependency>訪問地址:http://localhost:8080/doc.html
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
JavaEE Filter敏感詞過濾的方法實(shí)例詳解
我們無論是在聊天還是在留言時(shí),都有一些信息不希望別人看到。那么如果過濾這些關(guān)鍵詞呢?下面小編給大家分享JavaEE Filter敏感詞過濾的方法實(shí)例詳解,感興趣的朋友一起學(xué)習(xí)吧2016-05-05
Java中的可重入鎖ReentrantLock簡(jiǎn)析
這篇文章主要介紹了Java中的可重入鎖ReentrantLock簡(jiǎn)析,可重入是指同一個(gè)線程如果首次獲得了這把鎖,那么因?yàn)樗沁@把鎖的擁有者,因此有權(quán)利再次獲取這把鎖如果是不可重入鎖,那么第二次獲得鎖時(shí),自己也會(huì)被鎖擋住,需要的朋友可以參考下2023-12-12
Java語言基于無向有權(quán)圖實(shí)現(xiàn)克魯斯卡爾算法代碼示例
這篇文章主要介紹了Java語言基于無向有權(quán)圖實(shí)現(xiàn)克魯斯卡爾算法代碼示例,具有一定參考價(jià)值,需要的朋友可以了解下。2017-11-11
Java并發(fā)編程之Semaphore(信號(hào)量)詳解及實(shí)例
這篇文章主要介紹了Java并發(fā)編程之Semaphore(信號(hào)量)詳解及實(shí)例的相關(guān)資料,需要的朋友可以參考下2017-06-06
springboot中動(dòng)態(tài)權(quán)限實(shí)時(shí)管理的實(shí)現(xiàn)詳解
這篇文章主要為大家詳細(xì)介紹了如何簡(jiǎn)單實(shí)現(xiàn)一個(gè)在springboot中動(dòng)態(tài)權(quán)限的實(shí)時(shí)管理,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下2024-10-10
Spring-boot JMS 發(fā)送消息慢的解決方法
這篇文章主要為大家詳細(xì)介紹了Spring-boot JMS 發(fā)送消息慢的解決方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-08-08
Spring boot 在idea中添加熱部署插件的圖文教程
這篇文章主要介紹了Spring boot 在idea中添加熱部署插件的圖文教程,本文通過圖文并茂的形式給大家展示具體步驟,對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-10-10

