d6311e2ad4fc51cc880d468f070bfae4240e9565
[institute/sw-backend.git] /
1 package com.supwisdom.institute.backend.admin.aggr.configuration;
2
3 import org.springframework.beans.factory.annotation.Value;
4 import org.springframework.context.annotation.Bean;
5 import org.springframework.context.annotation.Configuration;
6
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.Contact;
12 import springfox.documentation.spi.DocumentationType;
13 import springfox.documentation.spring.web.plugins.Docket;
14 import springfox.documentation.swagger.web.UiConfiguration;
15 import springfox.documentation.swagger.web.UiConfigurationBuilder;
16 import springfox.documentation.swagger2.annotations.EnableSwagger2;
17
18 @Configuration
19 @EnableSwagger2
20 public class Swagger2Config {
21
22   @Value("${swagger2.apis.basePackage:com.supwisdom.institute}")
23   private String basePackage;
24
25   @Bean
26   public Docket createRestApi() {
27     return new Docket(DocumentationType.SWAGGER_2)
28         .apiInfo(apiInfo())
29         .select()
30         .apis(RequestHandlerSelectors.basePackage(basePackage))
31         .paths(PathSelectors.any())
32         .build()
33         ;
34   }
35
36   private ApiInfo apiInfo() {
37     Contact contact = new Contact("Backend Admin Aggregator API", "https://sw-backend-aggr.supwisdom.com/swagger-ui.html", ""); // name, url, email
38     return new ApiInfoBuilder()
39         .title("Backend Admin Aggregator APIs")
40         .description("管理后台 - 聚合接口")
41         .termsOfServiceUrl("http://www.supwisdom.com/")
42         .contact(contact)
43         .version("1.0")
44         .build();
45   }
46
47   @Bean
48   UiConfiguration uiConfig() {
49     
50     return UiConfigurationBuilder.builder().build();
51     
52 //    return new UiConfiguration(null, // url
53 //        "none", // docExpansion => none | list
54 //        "alpha", // apiSorter => alpha
55 //        "schema", // defaultModelRendering => schema
56 //        UiConfiguration.Constants.DEFAULT_SUBMIT_METHODS,
57 //        false, // enableJsonEditor => true || false
58 //        true, // showRequestHeaders => true | false
59 //        60000L); // requestTimeout => in milliseconds, defaults to null
60 //    // (uses jquery xh timeout)
61   }
62
63 }