SwaggerConfig.java 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. package com.kcim.common.swagger;
  2. import io.swagger.annotations.ApiOperation;
  3. import org.springframework.context.annotation.Bean;
  4. import org.springframework.context.annotation.Configuration;
  5. import org.springframework.context.annotation.Profile;
  6. import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
  7. import springfox.documentation.builders.ApiInfoBuilder;
  8. import springfox.documentation.builders.PathSelectors;
  9. import springfox.documentation.builders.RequestHandlerSelectors;
  10. import springfox.documentation.service.ApiInfo;
  11. import springfox.documentation.service.ApiKey;
  12. import springfox.documentation.service.SecurityScheme;
  13. import springfox.documentation.spi.DocumentationType;
  14. import springfox.documentation.spring.web.plugins.Docket;
  15. import springfox.documentation.swagger2.annotations.EnableSwagger2;
  16. import java.util.List;
  17. import static com.google.common.collect.Lists.newArrayList;
  18. @Profile({"dev"})
  19. @Configuration
  20. @EnableSwagger2
  21. public class SwaggerConfig implements WebMvcConfigurer {
  22. @Bean
  23. public Docket createRestApi() {
  24. return new Docket(DocumentationType.SWAGGER_2)
  25. .useDefaultResponseMessages(false)
  26. .apiInfo(apiInfo())
  27. .select()
  28. //加了ApiOperation注解的类,才生成接口文档
  29. .apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class))
  30. //包下的类,才生成接口文档
  31. //.apis(RequestHandlerSelectors.basePackage("com.kongyw.controller"))
  32. .paths(PathSelectors.any())
  33. .build()
  34. .securitySchemes(security());
  35. }
  36. private ApiInfo apiInfo() {
  37. return new ApiInfoBuilder()
  38. .title("成本核算")
  39. .description("成本核算接口文档")
  40. .termsOfServiceUrl("https://www.baitu.com")
  41. .version("TEST 1.00")
  42. .build();
  43. }
  44. private List<SecurityScheme> security() {
  45. return newArrayList(
  46. new ApiKey("token", "token", "header")
  47. );
  48. }
  49. }