SwaggerConfig.java 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. package com.primeton.dgs.kernel.core.configure;
  2. import org.springframework.beans.factory.annotation.Value;
  3. import org.springframework.context.annotation.Bean;
  4. import org.springframework.context.annotation.Configuration;
  5. import springfox.documentation.builders.ApiInfoBuilder;
  6. import springfox.documentation.builders.PathSelectors;
  7. import springfox.documentation.builders.RequestHandlerSelectors;
  8. import springfox.documentation.service.ApiInfo;
  9. import springfox.documentation.service.Contact;
  10. import springfox.documentation.spi.DocumentationType;
  11. import springfox.documentation.spring.web.plugins.Docket;
  12. import springfox.documentation.swagger2.annotations.EnableSwagger2;
  13. import java.util.Optional;
  14. /**
  15. * <pre>
  16. *
  17. * Created by zhaopx.
  18. * User: zhaopx
  19. * Date: 2020/8/27
  20. * Time: 15:27
  21. *
  22. * </pre>
  23. *
  24. * @author zhaopx
  25. */
  26. @Configuration //必须存在
  27. @EnableSwagger2 //必须存在
  28. public class SwaggerConfig {
  29. @Value("${swagger.group}")
  30. private String groupName;
  31. @Value("${swagger.title}")
  32. private String title;
  33. @Value("${swagger.description}")
  34. private String description;
  35. @Value("${swagger.creator}")
  36. private String creator;
  37. @Value("${swagger.version}")
  38. private String version;
  39. @Value("${swagger.basepackage}")
  40. private String basepackage;
  41. @Bean
  42. public Docket docket() {
  43. return new Docket(DocumentationType.SWAGGER_2).groupName(groupName).apiInfo(apiInfo()).select()
  44. // 必须扫描实现类所在的包
  45. .apis(RequestHandlerSelectors.basePackage(basepackage)).paths(PathSelectors.any()).build();
  46. }
  47. // 构建api文档的详细信息函数
  48. private ApiInfo apiInfo() {
  49. return new ApiInfoBuilder()
  50. // 页面标题
  51. .title(title)
  52. // 创建人
  53. .contact(new Contact(creator, "http://www.primeton.com/" + groupName, "" ))
  54. // 版本号
  55. .version(version)
  56. // 描述
  57. .description(description).build();
  58. }
  59. }