From: Lizi Date: Tue, 6 Feb 2018 11:49:01 +0000 (+0000) Subject: Display ESR API with swagger X-Git-Tag: v1.1.0~22 X-Git-Url: https://gerrit.onap.org/r/gitweb?p=aai%2Fesr-server.git;a=commitdiff_plain;h=a1b75c86ea8a32971a8bef5f75167569b69f5fb6;ds=sidebyside Display ESR API with swagger When ESR registered to MSB. The API of esr-server can be visited from MSB portal through swagger Change-Id: I142b79c00920697839f55eac95b50a6072d19ca4 Issue-ID: AAI-735 Signed-off-by: Lizi --- diff --git a/esr-mgr/src/main/java/org/onap/aai/esr/ExtsysApp.java b/esr-mgr/src/main/java/org/onap/aai/esr/ExtsysApp.java index 358fb07..db44504 100644 --- a/esr-mgr/src/main/java/org/onap/aai/esr/ExtsysApp.java +++ b/esr-mgr/src/main/java/org/onap/aai/esr/ExtsysApp.java @@ -27,7 +27,12 @@ import org.onap.msb.sdk.httpclient.msb.MSBServiceClient; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import io.dropwizard.Application; +import io.dropwizard.server.SimpleServerFactory; import io.dropwizard.setup.Environment; +import io.swagger.jaxrs.config.BeanConfig; +import io.swagger.jaxrs.listing.ApiListingResource; + +import com.fasterxml.jackson.annotation.JsonInclude; public class ExtsysApp extends Application { @@ -53,6 +58,7 @@ public class ExtsysApp extends Application { environment.jersey().register(new VimManager()); environment.jersey().register(new VnfmManager()); environment.jersey().register(new ServiceTest()); + initSwaggerConfig(environment, configuration); if ("true".equals(configuration.getRegistByHand())) { String MSB_IP = configuration.getMsbDiscoveryIp(); Integer MSB_Port = Integer.valueOf(configuration.getMsbDiscoveryPort()); @@ -67,5 +73,33 @@ public class ExtsysApp extends Application { } LOGGER.info("Initialize extsys finished."); } + + /** + * initialize swagger configuration. + * + * @param environment environment information + * @param configuration catalogue configuration + */ + private void initSwaggerConfig(Environment environment, ExtsysAppConfiguration configuration) { + environment.jersey().register(new ApiListingResource()); + environment.getObjectMapper().setSerializationInclusion(JsonInclude.Include.NON_NULL); + BeanConfig config = new BeanConfig(); + config.setTitle("ONAP ESR Service rest API"); + config.setVersion("1.0.0"); + config.setResourcePackage("org.onap.aai.esr.resource"); + // set rest api basepath in swagger + SimpleServerFactory simpleServerFactory = + (SimpleServerFactory) configuration.getServerFactory(); + String basePath = simpleServerFactory.getApplicationContextPath(); + String rootPath = simpleServerFactory.getJerseyRootPath().get(); + rootPath = rootPath.substring(0, rootPath.indexOf("/*")); + basePath = + basePath.equals("/") ? rootPath : (new StringBuilder()).append(basePath) + .append(rootPath).toString(); + LOGGER.info("getApplicationContextPath: " + basePath); + config.setBasePath(basePath); + config.setScan(true); + } + } diff --git a/esr-mgr/src/main/java/org/onap/aai/esr/resource/EmsManager.java b/esr-mgr/src/main/java/org/onap/aai/esr/resource/EmsManager.java index 3c18353..cebc10f 100644 --- a/esr-mgr/src/main/java/org/onap/aai/esr/resource/EmsManager.java +++ b/esr-mgr/src/main/java/org/onap/aai/esr/resource/EmsManager.java @@ -21,7 +21,6 @@ import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; import io.swagger.annotations.ApiResponse; import io.swagger.annotations.ApiResponses; -import io.swagger.annotations.SwaggerDefinition; import org.eclipse.jetty.http.HttpStatus; import org.onap.aai.esr.entity.rest.EmsRegisterInfo; import org.onap.aai.esr.util.ExtsysUtil; @@ -39,7 +38,6 @@ import javax.ws.rs.Produces; import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response; -@SwaggerDefinition @Path("/emses") @Api(tags = {" ems Management "}) public class EmsManager { diff --git a/esr-mgr/src/main/java/org/onap/aai/esr/resource/ThirdpartySdncManager.java b/esr-mgr/src/main/java/org/onap/aai/esr/resource/ThirdpartySdncManager.java index b633b8c..89481e8 100644 --- a/esr-mgr/src/main/java/org/onap/aai/esr/resource/ThirdpartySdncManager.java +++ b/esr-mgr/src/main/java/org/onap/aai/esr/resource/ThirdpartySdncManager.java @@ -21,7 +21,6 @@ import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; import io.swagger.annotations.ApiResponse; import io.swagger.annotations.ApiResponses; -import io.swagger.annotations.SwaggerDefinition; import org.eclipse.jetty.http.HttpStatus; import org.onap.aai.esr.entity.rest.ThirdpartySdncRegisterInfo; import org.onap.aai.esr.util.ExtsysUtil; @@ -39,9 +38,9 @@ import javax.ws.rs.Produces; import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response; -@SwaggerDefinition + @Path("/sdncontrollers") -@Api(tags = {"ThirdParty sdnc Management "}) +@Api(tags = {"ThirdParty sdnc Management "}) public class ThirdpartySdncManager { private static final Logger LOGGER = LoggerFactory.getLogger(ThirdpartySdncManager.class); diff --git a/esr-mgr/src/main/java/org/onap/aai/esr/resource/VimManager.java b/esr-mgr/src/main/java/org/onap/aai/esr/resource/VimManager.java index b408f62..a122c47 100644 --- a/esr-mgr/src/main/java/org/onap/aai/esr/resource/VimManager.java +++ b/esr-mgr/src/main/java/org/onap/aai/esr/resource/VimManager.java @@ -20,7 +20,6 @@ import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiResponse; import io.swagger.annotations.ApiResponses; -import io.swagger.annotations.SwaggerDefinition; import org.eclipse.jetty.http.HttpStatus; import org.onap.aai.esr.entity.rest.VimRegisterInfo; import org.onap.aai.esr.util.ExtsysUtil; @@ -38,7 +37,6 @@ import javax.ws.rs.Produces; import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response; -@SwaggerDefinition @Path("/vims") @Api(tags = {" vim Management "}) public class VimManager { diff --git a/esr-mgr/src/main/java/org/onap/aai/esr/resource/VnfmManager.java b/esr-mgr/src/main/java/org/onap/aai/esr/resource/VnfmManager.java index f86fd57..6588f58 100644 --- a/esr-mgr/src/main/java/org/onap/aai/esr/resource/VnfmManager.java +++ b/esr-mgr/src/main/java/org/onap/aai/esr/resource/VnfmManager.java @@ -21,7 +21,6 @@ import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; import io.swagger.annotations.ApiResponse; import io.swagger.annotations.ApiResponses; -import io.swagger.annotations.SwaggerDefinition; import org.eclipse.jetty.http.HttpStatus; import org.onap.aai.esr.entity.rest.VnfmRegisterInfo; import org.onap.aai.esr.util.ExtsysUtil; @@ -39,7 +38,6 @@ import javax.ws.rs.Produces; import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response; -@SwaggerDefinition @Path("/vnfms") @Api(tags = {" vnfm Management "}) public class VnfmManager { diff --git a/pom.xml b/pom.xml index fa3f050..017e44f 100644 --- a/pom.xml +++ b/pom.xml @@ -37,7 +37,7 @@ 1.2.2 - 1.5.16 + 1.5.3 2.16 5.0 2.2.4