摘要:頁面如下集成由于個(gè)人感覺原生的不太好看,網(wǎng)上提供了。
集成swagger pom包配置
添加Swagger配置文件io.springfox springfox-swagger2 2.9.2 io.springfox springfox-swagger-ui ${swagger.version}
@Configuration @EnableSwagger2 public class SwaggerConfig { /** * 創(chuàng)建一個(gè)Docket對(duì)象 * 調(diào)用select()方法, * 生成ApiSelectorBuilder對(duì)象實(shí)例,該對(duì)象負(fù)責(zé)定義外漏的API入口 * 通過使用RequestHandlerSelectors和PathSelectors來提供Predicate,在此我們使用any()方法,將所有API都通過Swagger進(jìn)行文檔管理 * @return */ @Bean public Docket createRestApi() { return new Docket(DocumentationType.SWAGGER_2) .apiInfo(apiInfo()) .select() .apis(RequestHandlerSelectors.any()) .paths(PathSelectors.any()) .build(); } private ApiInfo apiInfo() { return new ApiInfoBuilder() //標(biāo)題 .title("Spring Boot中使用Swagger2構(gòu)建RESTful APIs") //簡(jiǎn)介 .description("") //服務(wù)條款 .termsOfServiceUrl("") //作者個(gè)人信息 .contact(new Contact("chenguoyu","","chenguoyu_sir@163.com")) //版本 .version("1.0") .build(); } }
如果不想將所有的接口都通過swagger管理的話,可以將RequestHandlerSelectors.any()修改為RequestHandlerSelectors.basePackage()
配置靜態(tài)訪問資源@Configuration public class WebMvcConfig implements WebMvcConfigurer { @Override public void addResourceHandlers(ResourceHandlerRegistry registry) { // 解決 swagger-ui.html 404報(bào)錯(cuò) registry.addResourceHandler("/swagger-ui.html").addResourceLocations("classpath:/META-INF/resources/"); } }
到這里為止swagger就已經(jīng)配置完了,可以啟動(dòng)項(xiàng)目,然后訪問如下鏈接即可http://localhost:9000/swagger...
端口號(hào)applicationContext中設(shè)置的端口號(hào)。
頁面如下
集成swagger-bootstrap-ui由于個(gè)人感覺原生的swagger-ui不太好看,網(wǎng)上提供了swagger-bootstrap-ui。
pom依賴配置靜態(tài)訪問資源com.github.xiaoymin swagger-bootstrap-ui 1.9.3
@Configuration public class WebMvcConfig implements WebMvcConfigurer { @Override public void addResourceHandlers(ResourceHandlerRegistry registry) { // 解決 swagger-ui.html 404報(bào)錯(cuò) registry.addResourceHandler("/swagger-ui.html").addResourceLocations("classpath:/META-INF/resources/"); // 解決 doc.html 404 報(bào)錯(cuò) registry.addResourceHandler("/doc.html").addResourceLocations("classpath:/META-INF/resources/"); } }
這時(shí)只需要訪問以下鏈接即可http://localhost:9000/doc.html
swagger常用注解
@Api:用在類上,標(biāo)志此類是Swagger資源
屬性名稱 | 備注 |
---|---|
value | 該參數(shù)沒什么意義,在UI界面上不顯示,所以不用配置 |
tags | 說明該類的作用,參數(shù)是個(gè)數(shù)組,可以填多個(gè) |
description | 對(duì)api資源的描述 |
@ApiOperation:用在方法上,描述方法的作用
屬性名稱 | 備注 |
---|---|
value | 方法的用途和作用 |
tags | 方法的標(biāo)簽,可以設(shè)置多個(gè)值 |
notes | 方法的注意事項(xiàng)和備注 |
response | 返回的類型(盡量不寫,由swagger掃描生成) |
@ApiImplicitParams:包裝器:包含多個(gè)ApiImplicitParam對(duì)象列表
屬性名稱 | 備注 |
---|---|
value | 多個(gè)ApiImplicitParam配置 |
@ApiParam:用于Controller中方法的參數(shù)說明
屬性名稱 | 備注 |
---|---|
name | 屬性名稱 |
value | 屬性值 |
defaultValue | 默認(rèn)屬性值 |
allowableValues | 可以不配置 |
required | 是否屬性必填 |
allowMultiple | 文件上傳時(shí),是否允許多文件上傳 |
@ApiImplicitParam:定義在@ApiImplicitParams注解中,定義單個(gè)參數(shù)詳細(xì)信息,如果只有一個(gè)參數(shù),也可以定義在方法上
屬性名稱 | 備注 |
---|---|
name | 參數(shù)名 |
value | 參數(shù)說明 |
dataType | 參數(shù)類型 |
paramType | 表示參數(shù)放在哪里 header : 請(qǐng)求參數(shù)的獲取:@RequestHeader query : 請(qǐng)求參數(shù)的獲?。篅RequestParam path : 請(qǐng)求參數(shù)的獲?。篅PathVariable body : 不常用 form : 不常用 |
defaultValue | 參數(shù)的默認(rèn)值 |
required | 參數(shù)是否必須傳 |
@ApiModel:用在類上,表示對(duì)類進(jìn)行說明,用于實(shí)體類中的參數(shù)接收說明
屬性名稱 | 備注 |
---|---|
value | 默認(rèn)為類的名稱 |
description | 對(duì)該類的描述 |
@ApiModelProperty:在model類的屬性添加屬性說明
屬性名稱 | 備注 |
---|---|
value | 屬性描述 |
name | 屬性名稱 |
allowableValues | 參數(shù)允許的值 |
dataType | 數(shù)據(jù)類型 |
required | 是否必填 |
@ApiResponses:包裝器:包含多個(gè)ApiResponse對(duì)象列表
屬性名稱 | 備注 |
---|---|
value | 多個(gè)ApiResponse配置 |
@ApiResponse:定義在@ApiResponses注解中,一般用于描述一個(gè)錯(cuò)誤的響應(yīng)信息
屬性名稱 | 備注 |
---|---|
code | 響應(yīng)碼 |
message | 狀態(tài)碼對(duì)應(yīng)的響應(yīng)信息 |
response | 默認(rèn)響應(yīng)類 Void |
responseContainer | 參考ApiOperation中配置 |
@ApiIgnore():用于類或者方法上,不被顯示在頁面上
總結(jié)除上面之外有點(diǎn)值得注意的是,如果是上傳文件的話,需要把@ApiImplicitParam中的dataType屬性配置為__File否則在swagger中會(huì)顯示為文本框而不是上傳按鈕
如果需要項(xiàng)目代碼,可以去我的github中下載;具體代碼可以查看swagger目錄
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/74623.html
摘要:再通過函數(shù)創(chuàng)建的之后,用來創(chuàng)建該的基本信息這些基本信息會(huì)展現(xiàn)在文檔頁面中。函數(shù)返回一個(gè)實(shí)例用來控制哪些接口暴露給來展現(xiàn),本例采用指定掃描的包路徑來定義,會(huì)掃描該包下所有定義的,并產(chǎn)生文檔內(nèi)容除了被指定的請(qǐng)求。 showImg(http://download.qfeoo.com/kotlin_springboot_logo.png); 這里有個(gè)地方需要注意,在測(cè)試WebFlux集成Swa...
摘要:相關(guān)配置配置參數(shù)參數(shù)介紹默認(rèn)值是否啟用文檔標(biāo)題快速集成文檔文檔描述通過自動(dòng)化配置快速集成文檔,僅需一個(gè)注解一個(gè)依賴即可。注意通過所獲取的類型都為。 ApiBoot是一款基于SpringBoot1.x,2.x的接口服務(wù)集成基礎(chǔ)框架, 內(nèi)部提供了框架的封裝集成、使用擴(kuò)展、自動(dòng)化完成配置,讓接口開發(fā)者可以選著性完成開箱即用, 不再為搭建接口框架而犯愁,從而極大...
摘要:請(qǐng)注意,截至目前版本,用于的集成仍處于孵化階段,并且存在一些嚴(yán)重的錯(cuò)誤和缺少的功能例如,請(qǐng)參閱此處和此處。響應(yīng)可以使用和注解來調(diào)整不同的響應(yīng)狀態(tài)及其有效結(jié)論允許您在創(chuàng)建數(shù)據(jù)庫驅(qū)動(dòng)的時(shí)產(chǎn)生快速結(jié)果。 原文: Documenting a Spring Data REST API with Springfox and Swagger 使用Spring Date REST,你可以迅速為Spr...
摘要:另外很容易構(gòu)建風(fēng)格的,簡(jiǎn)單優(yōu)雅帥氣,正如它的名字。配置一些基本的信息。三寫生產(chǎn)文檔的注解通過注解表明該接口會(huì)生成文檔,包括接口名請(qǐng)求方法參數(shù)返回信息的等等。四參考資料中使用構(gòu)建強(qiáng)大的文檔 swagger,中文拽的意思。它是一個(gè)功能強(qiáng)大的api框架,它的集成非常簡(jiǎn)單,不僅提供了在線文檔的查閱,而且還提供了在線文檔的測(cè)試。另外swagger很容易構(gòu)建restful風(fēng)格的api,簡(jiǎn)單優(yōu)雅帥氣...
摘要:集成生成接口文檔原文簡(jiǎn)介由于的特性,用來開發(fā)變得非常容易,并且結(jié)合來自動(dòng)生成文檔變得方便快捷。使用生成,我們可以得到交互式文檔。聽過與的結(jié)合,生成更加完備的文檔。接下來將基于與搭建完整的文檔系統(tǒng)。 Spring Boot Swagger2 集成REST ful API 生成接口文檔 原文 簡(jiǎn)介 由于Spring Boot 的特性,用來開發(fā) REST ful 變得非常容易,并且結(jié)合 Sw...
閱讀 3350·2021-11-04 16:10
閱讀 3846·2021-09-29 09:43
閱讀 2692·2021-09-24 10:24
閱讀 3338·2021-09-01 10:46
閱讀 2503·2019-08-30 15:54
閱讀 585·2019-08-30 13:19
閱讀 3232·2019-08-29 17:19
閱讀 1049·2019-08-29 16:40