Springboot整合Swagger2和Swagger3全過程
一、Swagger2的作用
手寫Api文檔的幾個痛點(diǎn):
- 文檔需要更新的時候,需要再次發(fā)送一份給前端,也就是文檔更新交流不及時。
- 接口返回結(jié)果不明確
- 不能直接在線測試接口,通常需要使用工具,比如postman
- 接口文檔太多,不好管理
Swagger也就是為了解決這個問題,當(dāng)然也不能說Swagger就一定是完美的,當(dāng)然也有缺點(diǎn),最明顯的就是代碼移入性比較強(qiáng)。
二、pom依賴:springfox-swagger2、springfox-swagger-ui
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>${swagger2.version}</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>${swagger2.version}</version>
</dependency>三、Swagger2配置類
@Configuration
@EnableSwagger2 //開啟Swagger2
public class SwaggerConfig {
@Bean
public Docket webApiConfig(){
return new Docket(DocumentationType.SWAGGER_2)
.groupName("webApi")
.apiInfo(webApiInfo())
.select()
.paths(Predicates.not(PathSelectors.regex("/admin/.*")))
.paths(Predicates.not(PathSelectors.regex("/error.*")))
.build();
}
private ApiInfo webApiInfo(){
return new ApiInfoBuilder()
.title("在線教育API文檔")
.description("本文檔描述了在線教育微服務(wù)接口定義")
.version("0.0.1-SNAPSHOT")
.contact(new Contact("java","http://atguigu.com","123456@qq.com"))
.build();
}
}有這兩步就已經(jīng)完成swagger的基本功能,可以訪問http://localhost:{port}/swagger-ui.html,來實(shí)現(xiàn)調(diào)用controller中的接口。如

但實(shí)際上,我們依然可以給controller的類、接口、接口入?yún)⑻砑幼⒔猓?以實(shí)現(xiàn)功能說明的作用。
- @Api:修飾整個類,描述Controller的作用
- @ApiOperation:描述一個類的一個方法,或者說一個接口
- @ApiParam:單個參數(shù)描述
- @ApiModel:用對象來接收參數(shù)
- @ApiProperty:用對象接收參數(shù)時,描述對象的一個字段
- @ApiResponse:HTTP響應(yīng)其中1個描述
- @ApiResponses:HTTP響應(yīng)整體描述
- @ApiIgnore:使用該注解忽略這個API
- @ApiError :發(fā)生錯誤返回的信息
- @ApiImplicitParam:一個請求參數(shù)
- @ApiImplicitParams:多個請求參數(shù)
四、Controller類添加Swagger的注解
@Api(description = "講師管理") //修飾整個類,描述Controller的作用
@RestController
@RequestMapping("/eduservice/teacher")
public class EduTeacherController {
@Autowired
private EduTeacherService eduTeacherService;
@ApiOperation("查找全部功能")
@GetMapping("/findall")
public List<EduTeacher> findAll(){
List<EduTeacher> list = eduTeacherService.list();
return list;
}
@ApiOperation("邏輯刪除功能")
@DeleteMapping("{id}") //{id}表示id值通過路徑傳遞
public void removeById(@PathVariable("id") String id){
eduTeacherService.removeById(id);
}
}再次訪問Swagger-ui,效果如下

五、整合Swagger3配置類
@EnableSwagger2
@Configuration
public class SwaggerConfig {
@Bean
public Docket webApiConfig(){
return new Docket(DocumentationType.SWAGGER_2)
.groupName("webApi")
.apiInfo(webApiInfo())
.select()
//PathSelectors.regex("/error.*")選擇器,negate()表示取反
.paths(PathSelectors.regex("/error.*").negate())
.build();
}
private ApiInfo webApiInfo(){
return new ApiInfoBuilder()
.title("在線教育API文檔")
.description("本文檔描述了在線教育微服務(wù)接口定義")
.version("1.0-SNAPSHOT")
.build();
}
}總結(jié)
以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。
- Springboot整合Swagger3全注解配置(springdoc-openapi-ui)
- SpringBoot整合Swagger3生成接口文檔過程解析
- Springboot整合Swagger2后訪問swagger-ui.html 404報(bào)錯問題解決方案
- SpringBoot整合Swagger3生成接口文檔的示例代碼
- springboot整合swagger3和knife4j的詳細(xì)過程
- SpringBoot整合Swagger的方法示例
- SpringBoot整合swagger的操作指南
- SpringBoot整合Swagger接口文檔工具的流程步驟
- SpringBoot整合Swagger教程詳解
- SpringBoot3.x整合swagger的實(shí)現(xiàn)示例
相關(guān)文章
Java高級用法中的JNA類型映射注意細(xì)節(jié)及使用問題
本文介紹了在使用JNA方法映射中應(yīng)該注意的一些細(xì)節(jié)和具體的使用問題,對java??JNA類型映射注意細(xì)節(jié)感興趣的朋友一起看看吧2022-04-04
SpringBoot Validation入?yún)⑿r?yàn)國際化的項(xiàng)目實(shí)踐
在Spring Boot中,可以使用Validation和國際化來實(shí)現(xiàn)對入?yún)⒌男r?yàn),本文就來介紹一下SpringBoot Validation入?yún)⑿r?yàn)國際化,具有一定的參考價(jià)值,感興趣的可以了解一下2023-10-10
使用IDEA配置Tomcat和連接MySQL數(shù)據(jù)庫(JDBC)詳細(xì)步驟
這篇文章主要介紹了使用IDEA配置Tomcat和連接MySQL數(shù)據(jù)庫(JDBC)詳細(xì)步驟,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-12-12
Java selenium截圖操作的實(shí)現(xiàn)
這篇文章主要介紹了Java selenium截圖操作的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-08-08
Java入門基礎(chǔ)之常規(guī)的命名方法和變量的值及其引用
這篇文章主要介紹了Java的命名方法和變量的值及其引用,是Java入門學(xué)習(xí)中的基礎(chǔ)知識,需要的朋友可以參考下2015-09-09
Spring Boot將項(xiàng)目打包成war包的操作方法
這篇文章主要介紹了Spring Boot將項(xiàng)目打包成war包的操作方法,非常不錯,具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2018-09-09
SpringBoot2.0集成Swagger2訪問404的解決操作
這篇文章主要介紹了SpringBoot2.0集成Swagger2訪問404的解決操作,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-09-09

