在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 { @Bean
public 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{ @Autowired
private 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{ @Bean
public 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;
} @Override
protected String applicationPath(){
return basePath;
} @Override
protected String getDocumentationPath(){
return "/";
} @Override
public String getOperationPath(String OperationPath){
UriComponentsBuilder uriComponentsBuilder=UriComponentsBuilder.fromPath("/");
return Paths.removeAdjacentForwardSlashes(uriComponentsBuilder.path("").build().toString());
}
} @Override
public 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
*/
@Override
public void addCorsMappings(CorsRegistry corsRegistry){
corsRegistry.addMapping("/**")
.allowedOrigins("*")
.allowCredentials(true)
.allowedMethods("GET","POST","PUT","DELETE")
.allowedHeaders("*");
} @Override
public void configurePathMatch(PathMatchConfigurer pathMatchConfigurer){}
@Override
public void configureContentNegotiation(ContentNegotiationConfigurer contentNegotiationConfigurer){}
@Override
public void configureAsyncSupport(AsyncSupportConfigurer asyncSupportConfigurer){};
@Override
public void configureDefaultServletHandling(DefaultServletHandlerConfigurer defaultServletHandlerConfigurer){};
@Override
public void addFormatters(FormatterRegistry formatterRegistry){};
@Override
public void addInterceptors(InterceptorRegistry interceptorRegistry){};
@Override
public void addViewControllers(ViewControllerRegistry viewControllerRegistry){};
@Override
public void configureViewResolvers(ViewResolverRegistry viewResolverRegistry){};
@Override
public void addArgumentResolvers(List<HandlerMethodArgumentResolver> argumentResolvers){};
@Override
public void addReturnValueHandlers(List<HandlerMethodReturnValueHandler> returnValueHandlers){};
@Override
public void configureMessageConverters(List<HttpMessageConverter<?>> converters){};
@Override
public void extendMessageConverters(List<HttpMessageConverter<?>> converters){};
@Override
public void configureHandlerExceptionResolvers(List<HandlerExceptionResolver> exceptionResolvers){};
@Override
public void extendHandlerExceptionResolvers(List<HandlerExceptionResolver> exceptionResolvers){};
@Override
public Validator getValidator(){
return null;
}
@Override
public MessageCodesResolver getMessageCodesResolver(){
return null;
}
}

还是不行的话,

请下载这个demo : springboot-swagger2-demo        下载好解压然后eclipse导入MAVEN项目  直接就能运行。

spring boot 启动jar包时可指定Xmx(jvm运行过程中分配的最大内存),Xms(jvm启动时分配的内存) :

java -jar -Xmx 2048m -Xms 2048m 项目名.jar

-----------------------------------------------------------------------------

最新文章

  1. transformjs污染了DOM?是你不了解它的强大
  2. java web项目导入到eclipse中变成了java项目的一种情况的解决办法
  3. 【leetcode❤python】 203. Remove Linked List Elements
  4. 非官方windows下Cpython二进制扩展包下载地址
  5. PAT---1005. Spell It Right (20)
  6. Gradle插件
  7. iOS——文件操作NSFileManager (创建、删除,复制,粘贴)
  8. 临时解决linux下time wait问题
  9. 蓝桥杯-有理数类-java
  10. Section 1.1 Greedy Gift Givers
  11. JavaScript设计模式--门面模式
  12. CentOS 安装 Ansible 以及连接Windows server的办法
  13. firewall配置
  14. Spark SQL在100TB上的自适应执行实践(转载)
  15. Tirgger SimpleTrigger CronTrigger(四)
  16. idea jsp html 空白页的问题
  17. 【Java虚拟机】浅谈Java虚拟机
  18. MySQL数据库分区操作【RANGE】
  19. Ubuntu 安装Sqldeveloper
  20. shell cut

热门文章

  1. Day11 - K - Good Luck in CET-4 Everybody! HDU - 1847
  2. 至少你要了解RSS
  3. ES6之新的数据结构
  4. css 图形样式
  5. scrcpy投屏android手机到电脑
  6. 「Luogu P2845 [USACO15DEC]Switching on the Lights 开关灯」
  7. 【C++】【STL】【map】基础知识干货
  8. 在linux环境中配置tomcat
  9. android EditText中inputType的属性列表
  10. Mybatis入门(一)环境搭建