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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

spring boot 使用swagger

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

在pom.xml中添加maven依賴

<dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger2</artifactId><version>2.7.0</version></dependency><dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger-ui</artifactId><version>2.7.0</version>

剛開始我用的2.8.0版本,后來折騰了好久,swagger頁面就是不出來。換成2.7.0就好了。也許你折騰半天,換個(gè)版本就好了。

添加Swagger配置類:

package com.test.configuration;import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import io.swagger.annotations.ApiOperation; import springfox.documentation.builders.ApiInfoBuilder; import springfox.documentation.builders.PathSelectors; import springfox.documentation.builders.RequestHandlerSelectors; import springfox.documentation.service.ApiInfo; import springfox.documentation.spi.DocumentationType; import springfox.documentation.spring.web.plugins.Docket; import springfox.documentation.swagger2.annotations.EnableSwagger2;/** *Swagger2配置類 */@Configuration @EnableSwagger2//啟用Swagger2 public class Swaggers {@Beanpublic Docket createRestApi(){return new Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo()).select().apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class))//掃描所有有注解的api .paths(PathSelectors.any()).build();}/*** 首頁描述* @return*/private ApiInfo apiInfo(){return new ApiInfoBuilder().title("電話外呼api文檔").description("rest接口").build();} }

?

添加controller類

package com.text.crm.callout.controller;import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController; import org.springframework.beans.factory.annotation.Autowired; import com.text.callout.model.WarnCallOut; import com.text.callout.service.WarnCallOutService;@RestController @RequestMapping("/warn") @Api(tags="電話外呼信息保存接口") public class WarnCallOutController{@Autowiredprivate WarnCallOutService warnCallOutService;/***@param WarnCallOut電話外呼對(duì)象*@return*/@ApiOperation("保存電話外呼信息")@RequestMapping(value = "/add",method=RequestMethod.POST)public String addWarnCallOut(WarnCallOut warnCallOut){return warnCallOutService.addWarnCallOut(warnCallOut);} }

?添加POJO類

package com.test.entity;import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty;@ApiModel("電話外呼對(duì)象") public class WarnCallOut {@ApiModelProperty(value="序號(hào),從1開始",hidden=true)private Long id;@ApiModelProperty(value="姓名",required=true)private String name;@ApiModelProperty(value="需要外乎的號(hào)碼,本地號(hào)碼加9,外地號(hào)碼加90,多個(gè)號(hào)碼用|隔開,如913800000000|9013900000000",required=true)private String phonenum;@ApiModelProperty(value="操作時(shí)間,如2018-12-06 22:00:00",required=true)private String requesttime;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 String getPhonenum() {return phonenum;}public void setPhonenum(String phonenum) {this.phonenum = phonenum;}public String getRequesttime() {return requesttime;}public void setRequesttime(String requesttime) {this.requesttime = requesttime;} }

運(yùn)行啟動(dòng)類,啟動(dòng)Spring Boot程序,訪問:http://localhost:8080/swagger-ui.html

?

?

?

如果你的沒有成功。可以試試把配置類改成如下:

package com.test.configuration;import io.swagger.annotations.ApiOperation;import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.web.util.UriComponentsBuilder;import springfox.documentation.builders.ApiInfoBuilder; import springfox.documentation.builders.PathSelectors; import springfox.documentation.builders.RequestHandlerSelectors; import springfox.documentation.service.ApiInfo; import springfox.documentation.spi.DocumentationType; import springfox.documentation.spring.web.plugins.Docket; import springfox.documentation.spring.web.paths.Paths; import springfox.documentation.spring.web.paths.AbstractPathProvider; import springfox.documentation.swagger2.annotations.EnableSwagger2;import java.util.List; import org.springframework.web.servlet.config.annotation.*; import org.springframework.format.FormatterRegistry; import org.springframework.http.converter.HttpMessageConverter; import org.springframework.validation.MessageCodesResolver; import org.springframework.validation.Validator; import org.springframework.web.method.support.HandlerMethodArgumentResolver; import org.springframework.web.method.support.HandlerMethodReturnValueHandler; import org.springframework.web.servlet.HandlerExceptionResolver; import org.springframework.web.context.request.async.DeferredResult;/** *Swagger2配置類 */@Configuration @EnableSwagger2//啟用Swagger2,生產(chǎn)環(huán)境記得注釋掉 public class Swaggers implements WebMvcConfigurer{@Beanpublic Docket createRestApi(){return new Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo()).select().apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class))//掃描所有有注解的api .paths(PathSelectors.any()).build();}/*** 首頁描述* @return*/private ApiInfo apiInfo(){return new ApiInfoBuilder().title("電話外呼api文檔").description("rest接口").build();}/***重寫B(tài)ASE URL*/class BasePathAwareRalativePathProvider extends AbstractPathProvider{private String basePath;public BasePathAwareRalativePathProvider(String basePath){this.basePath=basePath;}@Overrideprotected String applicationPath(){return basePath;}@Overrideprotected String getDocumentationPath(){return "/";}@Overridepublic String getOperationPath(String OperationPath){UriComponentsBuilder uriComponentsBuilder=UriComponentsBuilder.fromPath("/");return Paths.removeAdjacentForwardSlashes(uriComponentsBuilder.path("").build().toString());}}@Overridepublic void addResourceHandlers(ResourceHandlerRegistry registry){registry.addResourceHandler("swagger-ui.html").addResourceLocations("classpath:/META-INF/resources/");registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/");};/*** 跨域支持* @param corsRegistry*/@Overridepublic void addCorsMappings(CorsRegistry corsRegistry){corsRegistry.addMapping("/**").allowedOrigins("*").allowCredentials(true).allowedMethods("GET","POST","PUT","DELETE").allowedHeaders("*");}@Overridepublic void configurePathMatch(PathMatchConfigurer pathMatchConfigurer){}@Overridepublic void configureContentNegotiation(ContentNegotiationConfigurer contentNegotiationConfigurer){}@Overridepublic void configureAsyncSupport(AsyncSupportConfigurer asyncSupportConfigurer){};@Overridepublic void configureDefaultServletHandling(DefaultServletHandlerConfigurer defaultServletHandlerConfigurer){};@Overridepublic void addFormatters(FormatterRegistry formatterRegistry){};@Overridepublic void addInterceptors(InterceptorRegistry interceptorRegistry){};@Overridepublic void addViewControllers(ViewControllerRegistry viewControllerRegistry){};@Overridepublic void configureViewResolvers(ViewResolverRegistry viewResolverRegistry){};@Overridepublic void addArgumentResolvers(List<HandlerMethodArgumentResolver> argumentResolvers){};@Overridepublic void addReturnValueHandlers(List<HandlerMethodReturnValueHandler> returnValueHandlers){};@Overridepublic void configureMessageConverters(List<HttpMessageConverter<?>> converters){};@Overridepublic void extendMessageConverters(List<HttpMessageConverter<?>> converters){};@Overridepublic void configureHandlerExceptionResolvers(List<HandlerExceptionResolver> exceptionResolvers){};@Overridepublic void extendHandlerExceptionResolvers(List<HandlerExceptionResolver> exceptionResolvers){};@Overridepublic Validator getValidator(){return null;}@Overridepublic MessageCodesResolver getMessageCodesResolver(){return null;} }

還是不行的話,

請(qǐng)下載這個(gè)demo :?springboot-swagger2-demo? ? ? ? 下載好解壓然后eclipse導(dǎo)入MAVEN項(xiàng)目? 直接就能運(yùn)行。

轉(zhuǎn)載于:https://www.cnblogs.com/Alwaysbecoding/p/10077508.html

總結(jié)

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

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