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 <li.zi30@zte.com.cn>
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<ExtsysAppConfiguration> {
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());
}
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);
+ }
+
}
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;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
-@SwaggerDefinition
@Path("/emses")
@Api(tags = {" ems Management "})
public class EmsManager {
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;
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);
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;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
-@SwaggerDefinition
@Path("/vims")
@Api(tags = {" vim Management "})
public class VimManager {
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;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
-@SwaggerDefinition
@Path("/vnfms")
@Api(tags = {" vnfm Management "})
public class VnfmManager {
<properties>
<dropwizard.version>1.2.2</dropwizard.version>
- <swagger.version>1.5.16</swagger.version>
+ <swagger.version>1.5.3</swagger.version>
<jersey.version>2.16</jersey.version>
<jaxrs.consumer.version>5.0</jaxrs.consumer.version>
<gson.version>2.2.4</gson.version>