Swagger2.java 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. package cn.com.citycloud.rent;
  2. import cn.com.citycloud.configuration.auth.HeaderParameterBuilder;
  3. import cn.com.citycloud.entity.purchase.PurchaseAnuualBudgetDetail;
  4. import org.springframework.context.annotation.Bean;
  5. import org.springframework.context.annotation.Configuration;
  6. import org.springframework.context.annotation.Profile;
  7. import springfox.documentation.builders.ApiInfoBuilder;
  8. import springfox.documentation.builders.PathSelectors;
  9. import springfox.documentation.builders.RequestHandlerSelectors;
  10. import springfox.documentation.schema.AlternateTypeRules;
  11. import springfox.documentation.service.ApiInfo;
  12. import springfox.documentation.service.Contact;
  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. @Configuration
  18. @EnableSwagger2
  19. @Profile("dev")
  20. public class Swagger2 {
  21. @Bean
  22. public Docket createRestApi() {
  23. HeaderParameterBuilder builder = new HeaderParameterBuilder();
  24. Docket docket = new Docket(DocumentationType.SWAGGER_2).enableUrlTemplating(false).globalOperationParameters(builder.build())
  25. .apiInfo(apiInfo())
  26. .select()
  27. .apis(RequestHandlerSelectors.basePackage("cn.com.citycloud"))
  28. .paths(PathSelectors.any())
  29. .build();
  30. docket.alternateTypeRules(AlternateTypeRules.newMapRule(Integer.class, List.class));
  31. docket.alternateTypeRules(AlternateTypeRules.newMapRule(List.class, PurchaseAnuualBudgetDetail.class));
  32. return docket;
  33. }
  34. private ApiInfo apiInfo() {
  35. return new ApiInfoBuilder()
  36. .title("租赁服务系统 RESTful APIs")
  37. .description("租赁服务系统 RESTful APIs")
  38. .termsOfServiceUrl("http://aiyangniu.cn").contact(new Contact("爱养牛项目组", "http://aiyangniu.cn", ""))
  39. .version("1.0")
  40. .build();
  41. }
  42. }