SwaggerConfig.java 2.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. package com.yihu.jw.config;
  2. import com.yihu.jw.restmodel.base.BaseContants;
  3. import org.springframework.context.annotation.Bean;
  4. import org.springframework.context.annotation.ComponentScan;
  5. import org.springframework.context.annotation.Configuration;
  6. import springfox.documentation.service.ApiInfo;
  7. import springfox.documentation.spi.DocumentationType;
  8. import springfox.documentation.spring.web.plugins.Docket;
  9. import springfox.documentation.swagger2.annotations.EnableSwagger2;
  10. import static com.google.common.base.Predicates.or;
  11. import static springfox.documentation.builders.PathSelectors.regex;
  12. @Configuration
  13. @EnableSwagger2
  14. @ComponentScan("com.yihu.jw.*.controller")
  15. public class SwaggerConfig {
  16. public static final String PUBLIC_API = "Default";
  17. public static final String Base_API = "JwBase";
  18. @Bean
  19. public Docket publicAPI() {
  20. return new Docket(DocumentationType.SWAGGER_2)
  21. .groupName(PUBLIC_API)
  22. .useDefaultResponseMessages(false)
  23. .forCodeGeneration(false)
  24. .pathMapping("/")
  25. .select()
  26. .paths(or(
  27. regex("/patient/.*")
  28. // , regex("/"+ BaseContants.Function.api_common+"/.*")
  29. ))
  30. .build()
  31. .apiInfo(publicApiInfo());
  32. }
  33. private ApiInfo publicApiInfo() {
  34. ApiInfo apiInfo = new ApiInfo("基卫2.0API",
  35. "基卫2.0API,提供基础卫生相关服务。",
  36. "1.0",
  37. "No terms of service",
  38. "wenfujian@jkzl.com",
  39. "The Apache License, Version 2.0",
  40. "http://www.apache.org/licenses/LICENSE-2.0.html"
  41. );
  42. return apiInfo;
  43. }
  44. @Bean
  45. public Docket jwBaseAPI() {
  46. return new Docket(DocumentationType.SWAGGER_2)
  47. .groupName(Base_API)
  48. .useDefaultResponseMessages(false)
  49. .forCodeGeneration(false)
  50. .pathMapping("/")
  51. .select()
  52. .paths(or(
  53. regex("/"+ BaseContants.Function.api_common+"/.*")
  54. ,regex("/"+ BaseContants.Saas.api_common+"/.*")
  55. ,regex("/"+ BaseContants.Module.api_common+"/.*")
  56. ))
  57. .build()
  58. .apiInfo(jwBaseApiInfo());
  59. }
  60. private ApiInfo jwBaseApiInfo() {
  61. ApiInfo apiInfo = new ApiInfo("基卫2.0API",
  62. "基卫2.0基础扩展API,提供基卫2.0基础扩展相关服务。",
  63. "1.0",
  64. "No terms of service",
  65. "wenfujian@jkzl.com",
  66. "The Apache License, Version 2.0",
  67. "http://www.apache.org/licenses/LICENSE-2.0.html"
  68. );
  69. return apiInfo;
  70. }
  71. }