在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相关推荐

  1. Spring Boot集成Swagger导入YApi@无界编程

    接口APi开发现状 现在开发接口都要在类似YApi上写文档,这样方便不同的团队之间协作,同步更新接口,提高效率. 但是如果接口很多,你一个个手工在YApi去录入无疑效率很低. 如果是使用Spring ...

  2. spring boot集成swagger,自定义注解,拦截器,xss过滤,异步调用,定时任务案例...

    本文介绍spring boot集成swagger,自定义注解,拦截器,xss过滤,异步调用,定时任务案例 集成swagger--对于做前后端分离的项目,后端只需要提供接口访问,swagger提供了接口 ...

  3. Spring Boot 集成 Swagger 生成 RESTful API 文档

    原文链接: Spring Boot 集成 Swagger 生成 RESTful API 文档 简介 Swagger 官网是这么描述它的:The Best APIs are Built with Swa ...

  4. Spring Boot 整合 Swagger

    一.为什么要用 Swagger 现在的开发模式,一般都是前后端分离的,开发接口文档就显得尤为重要,前端人员需要按照后端的功能文档调用对应的接口.在没有使用 API 文档之前,很多公司都是在纸或者 Ma ...

  5. Spring Boot和Swagger UI

    我已经一年没有从头开始开发Spring Web应用程序了,如果我不参加QA自动化工程师的培训,那么这段时间甚至会更长. 由于这个原因,我开发了一个示例REST应用程序. 除了Swagger,一切对我来 ...

  6. Spring Boot集成Swagger

    Spring Boot集成Swagger @(Swagger)[swagger, springfox, springboot] Spring Boot集成Swagger 前言 基本概述 案例 引入依赖 ...

  7. Spring boot :使用 Swagger 2 构建 RESTful APIs

    1.美图 2.什么是 Swagger Swagger 是一系列列 RESTful API 的⼯具,通过 Swagger 可以获得项⽬的一种交互式⽂档,客户端 SDK 的⾃动⽣生成等功能. Swagge ...

  8. Spring Boot 整合Swagger实现API管理

    Spring Boot 整合Swagger实现API管理 1 Swagger介绍 根据官网的介绍: https://swagger.io Swagger 是一款RESTFUL接口的.基于YAML.JS ...

  9. Spring Boot 禁用 Swagger 的三种方式

    一.序言 在生产环境下,我们需要关闭swagger配置,避免暴露接口的这种危险行为. 二.方法: 禁用方法1: 使用注解 @Value() 推荐使用 package com.dc.config;imp ...

最新文章

  1. 分享一个C#使用AT指令控制语音猫的例子
  2. linux mysql怎么启动_linux下安装完mysql 怎么启动
  3. windows 编程 —— 消息与参数(定时器、初始化消息、改变大小)
  4. java面向对相取钱存钱_java面向对象(银行存款业务无客户)
  5. Spring开发环境搭建和第一个示例程序
  6. 代码居中对齐_HTML span标签如何居中和右对齐?这里有HTML span标签的样式解析
  7. ppt怎么无边距打印 wps_为什么用WPS的同事总是比你早下班?
  8. ODOO v10.0 自动生成财务凭证的科目设置
  9. python工资这么高为什么不学-现在Python就业薪资高吗?
  10. 几款比较工具Beyond compare、DiffMerge、WinMerge
  11. 小甲鱼c语言课后作业作业百度云,小甲鱼c语言视频教程
  12. 字母数字-ASCII码表(最详细,最直观)
  13. 第五届山东ACM大赛汇总
  14. 前端开发人员的精彩文字
  15. 用Python从.srt或.vtt等格式的字幕文件中提取纯文字
  16. java访问文件服务器,java远程服务器访问本地文件
  17. 计算机按键被粘了一样,电脑总是自动重复按键盘上的一个键 经验告诉你该这样...
  18. 爬虫技术——一篇全搞定!
  19. No command 'setenv' found
  20. 阿里云OSS文件上传下载工具类

热门文章

  1. [Asp.Net+C#]Datagrid使用技巧一(怎样灵活控制表头)
  2. SQL Server 性能调优(cpu)
  3. android webView的使用
  4. JVM工作原理和特点
  5. Unity 2018.3.1 SyncVar没有同步服务器变量
  6. JVM学习笔记之-StringTable String的基本特性,内存分配,基本操作,拼接操作,intern()的使用,垃圾回收 ,G1中的String去重操作
  7. IntelliJ IDEA 问题总结之一 —— jar包、assets、maven、git
  8. 记一次CPU飙升的问题分析解决思路(转)
  9. SpaceVim 语言模块 dart
  10. 记一次 javax.xml.soap.SOAPException: