Thanks Let me have a look at it. Few of the POST is working. But this is MultiPart. Will analyze further.
regards, Robin Kuttaiah On Monday, June 24, 2019 at 3:51:13 PM UTC+5:30, Stephen Souness wrote: > > There might be a clue in the response headers - it mentions nginx. > > - > Stephen > > On 24 Jun 2019, at 10:58, Kuttaiah Robin <kutt...@gmail.com <javascript:>> > wrote: > > 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 dropwiz...@googlegroups.com <javascript:>. > To view this discussion on the web visit > https://groups.google.com/d/msgid/dropwizard-dev/54ef6033-ccb2-443d-a42f-0b787f44492a%40googlegroups.com > > <https://groups.google.com/d/msgid/dropwizard-dev/54ef6033-ccb2-443d-a42f-0b787f44492a%40googlegroups.com?utm_medium=email&utm_source=footer> > . > For more options, visit https://groups.google.com/d/optout. > > -- 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/87eeeeb8-65a8-4c63-b65d-f8a63e50ef59%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.