spring boot 使用swagger
在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就好了。也许你折腾半天,换个版本就好了。
添加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电话外呼对象*@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("电话外呼对象") public class WarnCallOut {@ApiModelProperty(value="序号,从1开始",hidden=true)private Long id;@ApiModelProperty(value="姓名",required=true)private String name;@ApiModelProperty(value="需要外乎的号码,本地号码加9,外地号码加90,多个号码用|隔开,如913800000000|9013900000000",required=true)private String phonenum;@ApiModelProperty(value="操作时间,如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;} }
运行启动类,启动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,生产环境记得注释掉 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();}/***重写BASE 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;} }
还是不行的话,
请下载这个demo : springboot-swagger2-demo 下载好解压然后eclipse导入MAVEN项目 直接就能运行。
转载于:https://www.cnblogs.com/Alwaysbecoding/p/10077508.html
spring boot 使用swagger相关推荐
- Spring Boot集成Swagger导入YApi@无界编程
接口APi开发现状 现在开发接口都要在类似YApi上写文档,这样方便不同的团队之间协作,同步更新接口,提高效率. 但是如果接口很多,你一个个手工在YApi去录入无疑效率很低. 如果是使用Spring ...
- spring boot集成swagger,自定义注解,拦截器,xss过滤,异步调用,定时任务案例...
本文介绍spring boot集成swagger,自定义注解,拦截器,xss过滤,异步调用,定时任务案例 集成swagger--对于做前后端分离的项目,后端只需要提供接口访问,swagger提供了接口 ...
- Spring Boot 集成 Swagger 生成 RESTful API 文档
原文链接: Spring Boot 集成 Swagger 生成 RESTful API 文档 简介 Swagger 官网是这么描述它的:The Best APIs are Built with Swa ...
- Spring Boot 整合 Swagger
一.为什么要用 Swagger 现在的开发模式,一般都是前后端分离的,开发接口文档就显得尤为重要,前端人员需要按照后端的功能文档调用对应的接口.在没有使用 API 文档之前,很多公司都是在纸或者 Ma ...
- Spring Boot和Swagger UI
我已经一年没有从头开始开发Spring Web应用程序了,如果我不参加QA自动化工程师的培训,那么这段时间甚至会更长. 由于这个原因,我开发了一个示例REST应用程序. 除了Swagger,一切对我来 ...
- Spring Boot集成Swagger
Spring Boot集成Swagger @(Swagger)[swagger, springfox, springboot] Spring Boot集成Swagger 前言 基本概述 案例 引入依赖 ...
- Spring boot :使用 Swagger 2 构建 RESTful APIs
1.美图 2.什么是 Swagger Swagger 是一系列列 RESTful API 的⼯具,通过 Swagger 可以获得项⽬的一种交互式⽂档,客户端 SDK 的⾃动⽣生成等功能. Swagge ...
- Spring Boot 整合Swagger实现API管理
Spring Boot 整合Swagger实现API管理 1 Swagger介绍 根据官网的介绍: https://swagger.io Swagger 是一款RESTFUL接口的.基于YAML.JS ...
- Spring Boot 禁用 Swagger 的三种方式
一.序言 在生产环境下,我们需要关闭swagger配置,避免暴露接口的这种危险行为. 二.方法: 禁用方法1: 使用注解 @Value() 推荐使用 package com.dc.config;imp ...
最新文章
- 分享一个C#使用AT指令控制语音猫的例子
- linux mysql怎么启动_linux下安装完mysql 怎么启动
- windows 编程 —— 消息与参数(定时器、初始化消息、改变大小)
- java面向对相取钱存钱_java面向对象(银行存款业务无客户)
- Spring开发环境搭建和第一个示例程序
- 代码居中对齐_HTML span标签如何居中和右对齐?这里有HTML span标签的样式解析
- ppt怎么无边距打印 wps_为什么用WPS的同事总是比你早下班?
- ODOO v10.0 自动生成财务凭证的科目设置
- python工资这么高为什么不学-现在Python就业薪资高吗?
- 几款比较工具Beyond compare、DiffMerge、WinMerge
- 小甲鱼c语言课后作业作业百度云,小甲鱼c语言视频教程
- 字母数字-ASCII码表(最详细,最直观)
- 第五届山东ACM大赛汇总
- 前端开发人员的精彩文字
- 用Python从.srt或.vtt等格式的字幕文件中提取纯文字
- java访问文件服务器,java远程服务器访问本地文件
- 计算机按键被粘了一样,电脑总是自动重复按键盘上的一个键 经验告诉你该这样...
- 爬虫技术——一篇全搞定!
- No command 'setenv' found
- 阿里云OSS文件上传下载工具类
热门文章
- [Asp.Net+C#]Datagrid使用技巧一(怎样灵活控制表头)
- SQL Server 性能调优(cpu)
- android webView的使用
- JVM工作原理和特点
- Unity 2018.3.1 SyncVar没有同步服务器变量
- JVM学习笔记之-StringTable String的基本特性,内存分配,基本操作,拼接操作,intern()的使用,垃圾回收 ,G1中的String去重操作
- IntelliJ IDEA 问题总结之一 —— jar包、assets、maven、git
- 记一次CPU飙升的问题分析解决思路(转)
- SpaceVim 语言模块 dart
- 记一次 javax.xml.soap.SOAPException: