aboutsummaryrefslogtreecommitdiffstats
path: root/sdnc_report_api_sdnc_253_story/sdnc_reports_service/src/main/java/com/onap/sdnc/reports/config/SwaggerConfig.java
blob: 5117102d341c097d1ca3df8e40b39455ba0cea2c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
package com.onap.sdnc.reports.config;

import static springfox.documentation.builders.PathSelectors.regex;

import javax.xml.datatype.XMLGregorianCalendar;

import org.springframework.boot.autoconfigure.domain.EntityScan;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Profile;
import org.springframework.data.jpa.repository.config.EnableJpaRepositories;

import com.fasterxml.jackson.annotation.JsonIgnore;

import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;

@Configuration
@EnableJpaRepositories("com.onap.sdnc.reports.repository")
@EntityScan("com.onap.sdnc.reports.*")
@EnableSwagger2
//@Profile("!test")
public class SwaggerConfig {
	
	 @Bean
	  public Docket newsApi() {
	      return new Docket(DocumentationType.SWAGGER_2)
	              .groupName("sdncreport")
	              .apiInfo(apiInfo())
	              .select()              
	              .paths(regex("/sdnc/report/.*"))
	             // .paths(PathSelectors.any())    
	              .build()
	              .directModelSubstitute(XMLGregorianCalendar.class, MixIn.class);
	  }
	  
	  public static interface MixIn {
	      @JsonIgnore
	      public void setYear(int year);
	  }
	  
	  /**
	   * 
	   * @return
	   */
	  private ApiInfo apiInfo() {
	      return new ApiInfoBuilder()
	              .title("SDNC Report Service REST APIs")
	              .description("SDNC Report Microservice REST APIs")
	              .termsOfServiceUrl("http://....")
	              .contact("TechMahindra")
	              .license("TechMahindra Licensed")
	              .licenseUrl("https://techmahindra.com")
	              .version("2.0")
	              .build();
	  }

}