日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

Spring boot中使用Swagger2

發(fā)布時(shí)間:2024/9/21 javascript 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Spring boot中使用Swagger2 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

為什么80%的碼農(nóng)都做不了架構(gòu)師?>>> ??

問題

最近需要做接口開發(fā),給客戶端們調(diào)用,但是我又不想寫文檔,聽說REST風(fēng)格的接口都在用Swagger做IDL(Interface description language),中文就是接口描述語言,簡單的說就是給調(diào)用方的開發(fā)人員看的。具體可以看危機(jī)百科:接口描述語言。

Maven

<dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger2</artifactId><version>2.8.0</version><scope>compile</scope> </dependency><dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger-ui</artifactId><version>2.8.0</version><scope>compile</scope> </dependency>

Gradle

... ext {springfoxSwagger2Version = "2.8.0" } ... dependencies{implementation "io.springfox:springfox-swagger2:${springfoxSwagger2Version}"implementation "io.springfox:springfox-swagger-ui:${springfoxSwagger2Version}" } ...

主配置

package com.xxx.config;import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport; import springfox.documentation.builders.ApiInfoBuilder; 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;import static springfox.documentation.builders.PathSelectors.regex;@Configuration @EnableSwagger2 public class SwaggerConfig extends WebMvcConfigurationSupport {@Beanpublic Docket businessApi() {return new Docket(DocumentationType.SWAGGER_2).select().apis(RequestHandlerSelectors.basePackage("com.hngytobacco.budget.controller")).paths(regex("^/businesses.*")).build().apiInfo(metaData());}private ApiInfo metaData() {return new ApiInfoBuilder().title("Budget").description("REST API for budget").version("0.0.1").contact(new Contact("YaLin", "https://my.oschina.net/fxtxz2", "zhangyl@xxx.com.cn")).build();}@Overrideprotected void addResourceHandlers(ResourceHandlerRegistry registry) {registry.addResourceHandler("swagger-ui.html").addResourceLocations("classpath:/META-INF/resources/");registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/");} }

然后,啟動(dòng)spring boot,訪問http://localhost:8080/swagger-ui.html就可以了,效果如下:

以上就是基本的Swaager配置。

還有關(guān)于controller和Java bean的配置:

@RestController @RequestMapping(value = "/businesses") @Api(value = "業(yè)務(wù)實(shí)例", description = "操作業(yè)務(wù)實(shí)例") public class BusinessController { ... @ApiOperation(value = "根據(jù)登錄用戶獲取業(yè)務(wù)實(shí)例列表", response = Iterable.class)@ApiResponses(value = {@ApiResponse(code = 200, message = "成功查找到業(yè)務(wù)實(shí)例列表"),@ApiResponse(code = 404, message = "用戶沒有角色"),@ApiResponse(code = 401, message = "沒有權(quán)限")})@GetMapping("/list/{username}")public ResponseEntity<List<BusinessVO>> getBusinessByUser(...

效果:

java bean的配置:

import io.swagger.annotations.ApiModelProperty;/** 業(yè)務(wù)VO */ public class BusinessVO {@ApiModelProperty(notes = "業(yè)務(wù)實(shí)例主鍵")private long id;/** 業(yè)務(wù)名稱 */@ApiModelProperty(notes = "業(yè)務(wù)實(shí)例名稱")private String name;/** 業(yè)務(wù)模板id */@ApiModelProperty(notes = "業(yè)務(wù)實(shí)例對(duì)應(yīng)的業(yè)務(wù)模板id")private long templateId;public long getId() {return id;}public void setId(long id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public long getTemplateId() {return templateId;}public void setTemplateId(long templateId) {this.templateId = templateId;}}

效果如下:

參考:

SPRING BOOT RESTFUL API DOCUMENTATION WITH SWAGGER 2

轉(zhuǎn)載于:https://my.oschina.net/fxtxz2/blog/2048738

總結(jié)

以上是生活随笔為你收集整理的Spring boot中使用Swagger2的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。