Swagger2.java 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. package cn.efunbox.base.configuration;
  2. import cn.efunbox.base.configuration.annotation.CommonApi;
  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.builders.ApiInfoBuilder;
  7. import springfox.documentation.builders.PathSelectors;
  8. import springfox.documentation.builders.RequestHandlerSelectors;
  9. import springfox.documentation.service.ApiInfo;
  10. import springfox.documentation.service.Contact;
  11. import springfox.documentation.spi.DocumentationType;
  12. import springfox.documentation.spring.web.plugins.Docket;
  13. import springfox.documentation.swagger2.annotations.EnableSwagger2;
  14. @Configuration
  15. @EnableSwagger2
  16. //@Profile("swagger")
  17. @ComponentScan("cn.efunbox.base.controller")
  18. public class Swagger2 {
  19. /**
  20. * 创建API应用
  21. * apiInfo() 增加API相关信息
  22. * 通过select()函数返回一个ApiSelectorBuilder实例,用来控制哪些接口暴露给Swagger来展现,
  23. * 本例采用指定扫描的包路径来定义指定要建立API的目录。
  24. *
  25. * @return
  26. */
  27. @Bean
  28. public Docket apiDocket() {
  29. return new Docket(DocumentationType.SWAGGER_2)
  30. .groupName("基础接口")
  31. .pathMapping("/")
  32. .select()
  33. .paths(PathSelectors.any())
  34. .apis(RequestHandlerSelectors.withClassAnnotation(CommonApi.class))
  35. .build()
  36. .apiInfo(apiInfo());
  37. }
  38. /**
  39. * 创建该API的基本信息(这些基本信息会展现在文档页面中)
  40. * 访问地址:http://项目实际地址/doc.html
  41. * @return
  42. */
  43. private ApiInfo apiInfo() {
  44. return new ApiInfoBuilder()
  45. .title("接口标题")
  46. .description("接口文档")
  47. .contact(new Contact("author", "127.0.0.1:8032", "sooper@qq.com"))
  48. .version("1.0.0")
  49. .build();
  50. }
  51. }