From 543004a668263b6d669ffd338b99154d7f91f6a0 Mon Sep 17 00:00:00 2001 From: vvarvate Date: Fri, 23 Mar 2018 19:25:55 +0530 Subject: SDNC-254 Historical Report Swagger API sdnc_reports_service Provides REST API for viewing historical reports remotely . Issue-ID: SDNC-254 Change-Id: Ifd1213fcd26d7fd2400a32e1a40649b54059f737 Signed-off-by: vvarvate --- .../onap/sdnc/reports/config/SwaggerConfig.java | 61 ++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 sdnc_report_api_sdnc_253_story/sdnc_reports_service/src/main/java/com/onap/sdnc/reports/config/SwaggerConfig.java (limited to 'sdnc_report_api_sdnc_253_story/sdnc_reports_service/src/main/java/com/onap/sdnc/reports/config/SwaggerConfig.java') diff --git a/sdnc_report_api_sdnc_253_story/sdnc_reports_service/src/main/java/com/onap/sdnc/reports/config/SwaggerConfig.java b/sdnc_report_api_sdnc_253_story/sdnc_reports_service/src/main/java/com/onap/sdnc/reports/config/SwaggerConfig.java new file mode 100644 index 0000000..5117102 --- /dev/null +++ b/sdnc_report_api_sdnc_253_story/sdnc_reports_service/src/main/java/com/onap/sdnc/reports/config/SwaggerConfig.java @@ -0,0 +1,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(); + } + +} -- cgit 1.2.3-korg