亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

springboot如何集成Swagger2

瀏覽:3日期:2023-04-03 11:35:32
一、是什么

當(dāng)下很多公司都采取前后端分離的開(kāi)發(fā)模式,前端和后端的工作由不同的工程師完成。在這種開(kāi)發(fā)模式下,維持一份及時(shí)更新且完整的 Rest API 文檔將會(huì)極大的提高我們的工作效率。傳統(tǒng)意義上的文檔都是后端開(kāi)發(fā)人員手動(dòng)編寫(xiě)的,相信大家也都知道這種方式很難保證文檔的及時(shí)性,這種文檔久而久之也就會(huì)失去其參考意義,反而還會(huì)加大我們的溝通成本。而 Swagger 給我們提供了一個(gè)全新的維護(hù) API 文檔的方式。

二、為什么要使用它

1、代碼變更,文檔跟著代碼變、只需要少量的注解Swagger就可以根據(jù)代碼自動(dòng)的生成API文檔,很好的保證了文檔的實(shí)時(shí)性。

2、跨語(yǔ)言,Swagger支持40多種語(yǔ)言。

3、Swagger UI 呈現(xiàn)出來(lái)的是一份可以交互的API文檔,我們可以直接在文檔頁(yè)面嘗試API的調(diào)用,省去了準(zhǔn)備復(fù)雜的調(diào)用參數(shù)的過(guò)程。

4、還可以將文檔規(guī)范導(dǎo)入相關(guān)的工具里面(例如:Postman、SoapUI)、這些工具將會(huì)為我們自動(dòng)地創(chuàng)建自動(dòng)化測(cè)試。

三、怎么用

1、在項(xiàng)目pom.xml里面加入Swagger2相關(guān)的依賴(lài)

<!--swagger2配置--> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger-ui</artifactId> <version>2.4.0</version> </dependency> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.4.0</version> </dependency> <dependency> <groupId>com.github.xiaoymin</groupId> <artifactId>swagger-bootstrap-ui</artifactId> <version>1.6</version> </dependency>

2、新建Swagger2的配置類(lèi)

package com.zhouhong.config;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import springfox.documentation.builders.ApiInfoBuilder;import springfox.documentation.builders.PathSelectors;import springfox.documentation.builders.RequestHandlerSelectors;import springfox.documentation.service.ApiInfo;import springfox.documentation.service.Contact;import springfox.documentation.spi.DocumentationType;import springfox.documentation.spring.web.plugins.Docket;import springfox.documentation.swagger2.annotations.EnableSwagger2;/** * @ClassName: Swagger2 * @Description: * @Author: 周紅 * @NickName: Tom-shuhu * @Date: Created in 2020/12/15 **/@Configuration@EnableSwagger2public class Swagger2 { // http://localhost:8088/swagger-ui.html 原路徑 // http://localhost:8088/doc.html 原路徑 //配置swagger2核心配置 @Bean public Docket createRestApi(){ return new Docket(DocumentationType.SWAGGER_2) //指定api類(lèi)型位swagger2 .apiInfo(apiInfo()) //用于定義api文檔匯總信息.select().apis(RequestHandlerSelectors .basePackage('com.zhouhong.controller')) //指定生成文檔的controller.paths(PathSelectors.any()).build(); } private ApiInfo apiInfo(){ return new ApiInfoBuilder().title('Tom-shushu 的項(xiàng)目接口api') //文檔標(biāo)題.contact(new Contact('周紅', //作者 'www.zhouhong.icu', '15249239025@163.com')) //聯(lián)系人.description('Tom-shushu 的項(xiàng)目api接口')//詳細(xì)信息.version('1.0.0')//文檔版本號(hào).termsOfServiceUrl('www.zhouhong.icu')//網(wǎng)站地址.build(); }}

文檔配置說(shuō)明:

a.為任何接口生成API文檔,這種方式不必在接口方法上加任何注解,方便的同時(shí)也會(huì)因?yàn)闆](méi)有添加任何注解所以生成的API文檔也沒(méi)有注釋?zhuān)勺x性不高。

@Bean public Docket createRestApi(){ return new Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo()).select()//為任何接口生成API文檔.apis(RequestHandlerSelectors.any()).paths(PathSelectors.any()).build(); }

b.為當(dāng)前配置的包下controller生成API文檔

.apis(RequestHandlerSelectors.basePackage('com.troila'))

c.為有@Api注解的Controller生成API文檔

.apis(RequestHandlerSelectors.withClassAnnotation(Api.class))

d.為有@ApiOperation注解的方法生成API文檔

.apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class))三、常見(jiàn)注解簡(jiǎn)介

@Api:修飾整個(gè)類(lèi),描述Controller的作用 @ApiOperation:描述一個(gè)類(lèi)的一個(gè)方法,或者說(shuō)一個(gè)接口 @ApiParam:?jiǎn)蝹€(gè)參數(shù)描述 @ApiModel:用對(duì)象實(shí)體來(lái)作為入?yún)?@ApiProperty:用對(duì)象接實(shí)體收參數(shù)時(shí),描述對(duì)象的一個(gè)字段 @ApiResponse:HTTP響應(yīng)其中1個(gè)描述 @ApiResponses:HTTP響應(yīng)整體描述 @ApiIgnore:使用該注解忽略這個(gè)API @ApiError :發(fā)生錯(cuò)誤返回的信息 @ApiImplicitParam:一個(gè)請(qǐng)求參數(shù) @ApiImplicitParams: 多個(gè)請(qǐng)求參數(shù)四、演示(為方便我使用了上面第一種配置)

1、使用原路徑訪(fǎng)問(wèn)

springboot如何集成Swagger2

2、原路徑調(diào)試

springboot如何集成Swagger2

3、doc模式訪(fǎng)問(wèn)

springboot如何集成Swagger2

4、doc模式調(diào)試

springboot如何集成Swagger2

以上就是springboot集成Swagger2的詳細(xì)內(nèi)容,更多關(guān)于springboot集成Swagger2的資料請(qǐng)關(guān)注好吧啦網(wǎng)其它相關(guān)文章!

標(biāo)簽: Spring
相關(guān)文章:
主站蜘蛛池模板: 成人黄色毛片 | 国产免费1000拍拍拍 | 真实国产精品视频国产网 | 国产伦一区二区三区免费 | 亚洲二区在线 | 欧美日韩中文国产一区二区三区 | 日本无翼乌邪恶大全彩h邪恶师 | 中国xxxxx高清免费看视频 | 日本zzzzzzz毛片 | 日韩性生活大片 | 最近手机中文字幕无吗 | 国产精品嫩草影院一二三区 | 性美国xxxxx免费| 亚洲国产精品婷婷久久久久 | 国产精品不卡无毒在线观看 | 国产露脸无套在线观看 | 在线视频中文字幕乱人伦 | 免费看大黄高清网站视频在线 | 91久久精一区二区三区大全 | 亚洲欧美一区二区视频 | 亚洲精品一区二区三区在线播放 | 日韩精品亚洲一级在线观看 | 一级片视频网站 | a毛片免费看 | 免费特黄一级欧美大片在线看 | 日韩中文字幕在线看 | 亚洲精品aaa| 全免费一级午夜毛片 | 全免费观看a级毛片 | 国产高清狼人香蕉在线观看 | 成人国产在线观看 | 国产亚洲精品美女一区二区 | 国产97在线 | 亚洲 | 精品麻豆视频 | 国产做受视频激情播放 | 国产网站在线看 | 在线成年视频免费观看 | 久久中文字幕网站篠田优 | 国产一级一级 | 成人免费国产欧美日韩你懂的 | 黄色国产视频 |