SwaggerConfig.java 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. package com.imed.costaccount.common.swagger;
  2. import com.github.xiaoymin.swaggerbootstrapui.annotations.EnableSwaggerBootstrapUI;
  3. import io.swagger.annotations.ApiOperation;
  4. import org.springframework.context.annotation.Bean;
  5. import org.springframework.context.annotation.Configuration;
  6. import org.springframework.context.annotation.Profile;
  7. import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
  8. import springfox.documentation.builders.ApiInfoBuilder;
  9. import springfox.documentation.builders.PathSelectors;
  10. import springfox.documentation.builders.RequestHandlerSelectors;
  11. import springfox.documentation.service.ApiInfo;
  12. import springfox.documentation.service.ApiKey;
  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. @EnableSwaggerBootstrapUI
  22. public class SwaggerConfig implements WebMvcConfigurer {
  23. @Bean
  24. public Docket createRestApi() {
  25. return new Docket(DocumentationType.SWAGGER_2)
  26. .useDefaultResponseMessages(false)
  27. .apiInfo(apiInfo())
  28. .select()
  29. //加了ApiOperation注解的类,才生成接口文档
  30. .apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class))
  31. //包下的类,才生成接口文档
  32. //.apis(RequestHandlerSelectors.basePackage("com.kongyw.controller"))
  33. .paths(PathSelectors.any())
  34. .build()
  35. .securitySchemes(security());
  36. }
  37. private ApiInfo apiInfo() {
  38. return new ApiInfoBuilder()
  39. .title("成本核算")
  40. .description("成本核算接口文档")
  41. .termsOfServiceUrl("https://www.baitu.com")
  42. .version("TEST 1.00")
  43. .build();
  44. }
  45. private List<ApiKey> security() {
  46. return newArrayList(
  47. new ApiKey("token", "token", "header")
  48. );
  49. }
  50. }