SwaggerConfig.java 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. package com.yihu.wlyy.statistics.config;
  2. import org.springframework.context.annotation.Bean;
  3. import org.springframework.context.annotation.ComponentScan;
  4. import org.springframework.context.annotation.Configuration;
  5. import org.springframework.web.context.request.async.DeferredResult;
  6. import org.springframework.web.servlet.config.annotation.EnableWebMvc;
  7. import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
  8. import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
  9. import springfox.documentation.builders.PathSelectors;
  10. import springfox.documentation.service.ApiInfo;
  11. import springfox.documentation.spi.DocumentationType;
  12. import springfox.documentation.spring.web.plugins.Docket;
  13. import springfox.documentation.swagger2.annotations.EnableSwagger2;
  14. import static com.google.common.base.Predicates.or;
  15. import static springfox.documentation.builders.PathSelectors.regex;
  16. /**
  17. * Created by chenweida on 2016/2/3.
  18. */
  19. @Configuration
  20. @EnableSwagger2
  21. public class SwaggerConfig extends WebMvcConfigurerAdapter {
  22. private static final String PUBLIC_API = "Default";
  23. @Override
  24. public void addResourceHandlers(ResourceHandlerRegistry registry) {
  25. registry.addResourceHandler("swagger-ui.html")
  26. .addResourceLocations("classpath:/META-INF/resources/");
  27. registry.addResourceHandler("/webjars/**")
  28. .addResourceLocations("classpath:/META-INF/resources/webjars/");
  29. }
  30. @Bean
  31. public Docket publicAPI() {
  32. return new Docket(DocumentationType.SWAGGER_2)
  33. .groupName(PUBLIC_API)
  34. .genericModelSubstitutes(DeferredResult.class)
  35. .useDefaultResponseMessages(false)
  36. .forCodeGeneration(true)
  37. .pathMapping("/")
  38. .select()
  39. .paths(or(
  40. regex("/job/.*"),
  41. regex("/quotaQuery/.*")
  42. ))
  43. .build()
  44. .apiInfo(publicApiInfo());
  45. }
  46. private ApiInfo publicApiInfo() {
  47. ApiInfo apiInfo = new ApiInfo("三师平台统计分析API",
  48. "统计分析接口。",
  49. "1.0",
  50. "No terms of service",
  51. "admin@jkzl.com",
  52. "The Apache License, Version 2.0",
  53. "http://www.apache.org/licenses/LICENSE-2.0.html"
  54. );
  55. return apiInfo;
  56. }
  57. }