SwaggerConfig.java 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. package com.gree.mall.manager;
  2. /**
  3. *
  4. */
  5. import org.springframework.context.annotation.Bean;
  6. import org.springframework.context.annotation.Configuration;
  7. import org.springframework.context.annotation.Profile;
  8. import springfox.documentation.builders.ApiInfoBuilder;
  9. import springfox.documentation.builders.ParameterBuilder;
  10. import springfox.documentation.builders.PathSelectors;
  11. import springfox.documentation.builders.RequestHandlerSelectors;
  12. import springfox.documentation.schema.ModelRef;
  13. import springfox.documentation.service.ApiInfo;
  14. import springfox.documentation.service.Contact;
  15. import springfox.documentation.service.Parameter;
  16. import springfox.documentation.spi.DocumentationType;
  17. import springfox.documentation.spring.web.plugins.Docket;
  18. import springfox.documentation.swagger2.annotations.EnableSwagger2;
  19. import java.util.ArrayList;
  20. import java.util.List;
  21. /**
  22. * API文档设置
  23. * com.qichuan.sugar.minaapi.SwaggerConfig
  24. */
  25. @Profile({"dev","test"})
  26. @Configuration
  27. @EnableSwagger2
  28. public class SwaggerConfig {
  29. @Bean
  30. public Docket statisticsApi() {
  31. return new Docket(DocumentationType.SWAGGER_2)
  32. .pathMapping("/")
  33. .groupName("运营后台API")
  34. .select()
  35. .apis(RequestHandlerSelectors.basePackage("com.gree.mall.manager.controller"))
  36. .paths(PathSelectors.regex("/.*"))
  37. .build()
  38. .apiInfo(apiBInfo())
  39. .globalOperationParameters(setHeaderToken());
  40. }
  41. private ApiInfo apiBInfo() {
  42. return new ApiInfoBuilder()
  43. .title("家盛茂运营后台API")
  44. .description("家盛茂运营后台API")
  45. .contact(new Contact("格匠", "http://gejiang", "gejiang@gejiang.com"))
  46. .version("1.0")
  47. .build();
  48. }
  49. /**
  50. * 设置公共header参数
  51. * @return
  52. */
  53. private List<Parameter> setHeaderToken() {
  54. ParameterBuilder tokenPar = new ParameterBuilder();
  55. List<Parameter> pars = new ArrayList<>();
  56. tokenPar.name("x-token").description("校验TOKEN").modelRef(new ModelRef("string")).defaultValue("1111").parameterType("header").required(false).build();
  57. pars.add(tokenPar.build());
  58. return pars;
  59. }
  60. }