SwaggerConfig.java 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. package seecoder.devcloud.web.infrastructure.config;
  2. import org.springframework.context.annotation.Bean;
  3. import org.springframework.context.annotation.Configuration;
  4. import springfox.documentation.builders.ApiInfoBuilder;
  5. import springfox.documentation.builders.PathSelectors;
  6. import springfox.documentation.builders.RequestHandlerSelectors;
  7. import springfox.documentation.service.ApiInfo;
  8. import springfox.documentation.spi.DocumentationType;
  9. import springfox.documentation.spring.web.plugins.Docket;
  10. import springfox.documentation.swagger2.annotations.EnableSwagger2;
  11. /**
  12. * @author PuHong Weng
  13. * @date 2021/2/3
  14. * @description:
  15. */
  16. @Configuration
  17. @EnableSwagger2
  18. public class SwaggerConfig{
  19. private ApiInfo initApiInfo() {
  20. return new ApiInfoBuilder()
  21. .title("seecoder devcloud项目 Platform API")//大标题
  22. .description(initContextInfo())//简单的描述
  23. .version("0.0.1")//版本
  24. .build();
  25. }
  26. private String initContextInfo() {
  27. StringBuffer sb = new StringBuffer();
  28. sb.append("Devclound API");
  29. return sb.toString();
  30. }
  31. @Bean
  32. public Docket restfulApi() {
  33. return new Docket(DocumentationType.SWAGGER_2)
  34. .apiInfo(initApiInfo())
  35. .select()
  36. //.paths(doFilteringRules())
  37. //不显示错误的接口地址
  38. .apis(RequestHandlerSelectors.basePackage("seecoder.devcloud.web.controller"))
  39. //.paths(Predicates.not(PathSelectors.regex("/error.*")))
  40. .paths(PathSelectors.any())
  41. .build();
  42. }
  43. /**
  44. * 有些重要api可能不想在swagger网页里展示,在这里可以过滤
  45. * 设置过滤规则
  46. * 这里的过滤规则支持正则匹配
  47. * @return
  48. */
  49. // private Predicate<String> doFilteringRules() {
  50. // return or(
  51. // regex("/hello.*"),
  52. // regex("/vehicles.*")
  53. // );
  54. // }
  55. }