Hello, I have a usecase for importing zip file into our microservice. Hence below is the code I have.
REST RESOURCE --------------- @Path("/models") @Provider @Produces( {"application/json"} ) @OpenAPIDefinition( info = @Info ( title = "insightmanager", version = "1.0.0", description = "Insight Manager" ), servers = { @Server( url = "{protocol}//{host}:{port}/{basePath}", variables = { @ServerVariable(name = "protocol",defaultValue = "http:"), @ServerVariable(name = "host", defaultValue = "localhost"), @ServerVariable(name = "port", defaultValue = "8765"), @ServerVariable(name = "basePath",defaultValue= "insight-server/api/1.0/") })} ) public class ModelResource { @POST @Path(value = "{modelId}/version}/importmodel") @Consumes(MediaType.MULTIPART_FORM_DATA) @Operation(summary = "import model ", responses = { @ApiResponse(responseCode = "200" ,description = "get t2p info", content = @Content(mediaType = "application/json", schema = @Schema(implementation = T2PInfo.class))), @ApiResponse(responseCode = "500", description = "import failed", content = @Content(mediaType="application/json",schema=@Schema(implementation = oracle.insight.server.rest.model.Status.class)))}) public Response importModel(@Context HttpHeaders headers, @FormDataParam( "file") InputStream uploadedInputStream, @FormDataParam("file") FormDataContentDisposition fileMetaData, @PathParam("version") String version, @QueryParam("overwrite") boolean overwrite, @QueryParam("locale") String locale) { ModelService modelService = ModelServiceFactory.INSTANCE.getModelService (); Response response = modelService.importModel(uploadedInputStream, overwrite, locale); return response; } } I have a Configuration Bundle like; public class InsightManagerBundle implements ConfiguredBundle< DWInsightManagerConfiguration> { @Override public void run(final DWInsightManagerConfiguration configuration, final Environment environment) throws Exception { configureCors(environment); } @Override public void initialize(final Bootstrap<?> bootstrap) { // nothing to do here, we need access to configuration and we won't have that until run() is executed. } private void configureCors(Environment environment) { final FilterRegistration.Dynamic cors = environment.servlets().addFilter("CORS", CrossOriginFilter.class); // Configure CORS parameters cors.setInitParameter(CrossOriginFilter.ALLOWED_ORIGINS_PARAM, "*"); cors.setInitParameter(CrossOriginFilter.ALLOWED_HEADERS_PARAM, "origin, content-type, accept, authorization"); cors.setInitParameter(CrossOriginFilter.ALLOWED_METHODS_PARAM, "OPTIONS,GET,PUT,POST,DELETE,HEAD"); cors.setInitParameter(CrossOriginFilter.ALLOW_CREDENTIALS_PARAM, "true" ); // Add URL mapping cors.addMappingForUrlPatterns(EnumSet.allOf(DispatcherType.class), true, "/*"); } } This configuration bundle is being added in Application; public final class DWInsightManagerApplication extends Application< DWInsightManagerConfiguration> { public DWInsightManagerApplication() { super(); } @Override public String getName() { return DWInsightManagerConfiguration.ROOT_PATH; } @Override public void run(final DWInsightManagerConfiguration configuration, final Environment environment) { insightManager.customizeRouting(environment.jersey().getResourceConfig ()); } @Override public void initialize(Bootstrap<DWInsightManagerConfiguration> bootstrap) { super.initialize(bootstrap); bootstrap.addBundle(new InsightManagerBundle()); } } I tried adding in our Configuration class or within run method of our application itself but it is of no use. I always get "405 Method Not Allowed" Response Headers; HTTP/1.1 405 Method Not Allowed Server: nginx Date: Mon, 24 Jun 2019 09:04:50 GMT Content-Length: 54 Connection: keep-alive allow: DELETE,GET,OPTIONS,PUT ......... DELETE, GET, PUT works without issues. This POST rest API works in other framework, so I do not see any issue with that. Is there something am missing basic stuff or is it an issue with 2.0.0-rc3 candidate. Any help would be highly appreciated. -- You received this message because you are subscribed to the Google Groups "dropwizard-dev" group. To unsubscribe from this group and stop receiving emails from it, send an email to dropwizard-dev+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/dropwizard-dev/54ef6033-ccb2-443d-a42f-0b787f44492a%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.