SwaggerConfig.java 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. package com.sqx.config;
  2. import io.swagger.annotations.ApiOperation;
  3. import org.springframework.context.annotation.Bean;
  4. import org.springframework.context.annotation.Configuration;
  5. import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
  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.ApiKey;
  11. import springfox.documentation.spi.DocumentationType;
  12. import springfox.documentation.spring.web.plugins.Docket;
  13. import springfox.documentation.swagger2.annotations.EnableSwagger2;
  14. import java.util.List;
  15. import static com.google.common.collect.Lists.newArrayList;
  16. @Configuration
  17. @EnableSwagger2
  18. public class SwaggerConfig implements WebMvcConfigurer {
  19. @Bean
  20. public Docket createRestApi() {
  21. return new Docket(DocumentationType.SWAGGER_2)
  22. .apiInfo(apiInfo())
  23. .select()
  24. //加了ApiOperation注解的类,才生成接口文档
  25. .apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class))
  26. //包下的类,才生成接口文档
  27. //.apis(RequestHandlerSelectors.basePackage("com.sqx.controller"))
  28. .paths(PathSelectors.any())
  29. .build()
  30. .securitySchemes(security());
  31. }
  32. private ApiInfo apiInfo() {
  33. return new ApiInfoBuilder()
  34. .title("")
  35. .description("sqx-fast文档")
  36. .termsOfServiceUrl("")
  37. .version("3.0.0")
  38. .build();
  39. }
  40. private List<ApiKey> security() {
  41. return newArrayList(
  42. new ApiKey("token", "token", "header")
  43. );
  44. }
  45. }