1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.logging.log4j.catalog.config;
18
19 import org.springframework.context.annotation.Bean;
20 import org.springframework.context.annotation.Configuration;
21 import org.springframework.web.servlet.config.annotation.EnableWebMvc;
22 import springfox.documentation.builders.ApiInfoBuilder;
23 import springfox.documentation.builders.PathSelectors;
24 import springfox.documentation.builders.RequestHandlerSelectors;
25 import springfox.documentation.service.ApiInfo;
26 import springfox.documentation.spi.DocumentationType;
27 import springfox.documentation.spring.web.plugins.Docket;
28 import springfox.documentation.swagger2.annotations.EnableSwagger2;
29
30 import java.time.LocalDate;
31 import java.time.LocalDateTime;
32
33
34
35
36 @Configuration
37 @EnableSwagger2
38 @EnableWebMvc
39 public class SwaggerConfig {
40 @Bean
41 public Docket api() {
42 return new Docket(DocumentationType.SWAGGER_2)
43 .apiInfo(apiInfo())
44 .select()
45 .apis(RequestHandlerSelectors.any())
46 .paths(PathSelectors.any())
47 .build()
48 .directModelSubstitute(LocalDate.class, java.sql.Date.class)
49 .directModelSubstitute(LocalDateTime.class, java.util.Date.class);
50 }
51
52 private ApiInfo apiInfo() {
53 return new ApiInfoBuilder()
54 .title("Catalog Service")
55 .description("Maintains the audit event catalog")
56 .termsOfServiceUrl("http://logging.apache.org")
57 .contact("Apache Logging")
58 .license("1.0")
59 .licenseUrl("http://www.apache.org/licenses/")
60 .version("1.0")
61 .build();
62 }
63 }