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.

Reply via email to