Quantcast
Channel: Active questions tagged rest - Stack Overflow
Viewing all articles
Browse latest Browse all 3667

Java Jersey Client to Server Multipart POST Request Results in HTTP 415 Unsupported Media Type

$
0
0

I'm working with two Java containers where the first container (Client) sends a list of images to a service exposed by the second container (Server) using a multipart POST request. However, the server always responds with a 415 "Unsupported Media Type" error.

Here is the code for the client:

public class ClientController {    public List<...> doRequest(List<InputStream> images, Integer value1, double value2) {        try (MultiPart multiPart = new FormDataMultiPart()) {            Client client = ClientBuilder                .newBuilder()                .register(MultiPartFeature.class)                .build();            WebTarget target = client.target(baseURI +"/service/value1/" + value1 +"/value2/" + value2);            int index = 0;            for (InputStream image : images) {                StreamDataBodyPart bodyPart = new StreamDataBodyPart("file" + index, image);                multiPart.bodyPart(bodyPart);                index++;            }            Response response = target.request().post(Entity.entity(multiPart, multiPart.getMediaType()));            if (response.getStatus() != Response.Status.OK.getStatusCode()) {                // Handle error            }        }    }}

And here is the server code that receives and processes the request:

@Path("service")public class ServerController {    @POST    @Path("/value1/{value1}/value2/{value2}")    @Consumes(MediaType.MULTIPART_FORM_DATA)    @Produces(MediaType.APPLICATION_JSON)    public Response getResponse(@PathParam("value1") int value1, @PathParam("value2") double value2, MultiPart multiPart) {        List<InputStream> images = multiPart            .getBodyParts()            .stream()            .map(bodyPart -> bodyPart.getEntityAs(InputStream.class))            .collect(Collectors.toList());        // Process images and generate response    }}

I have already registered the MultiPartFeature on the client side, but the server still responds with a 415 error. What could be the cause of this issue? How can I correctly send a list of images as a multipart POST request from the client to the server?

Any help would be appreciated. Thanks!


Viewing all articles
Browse latest Browse all 3667

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>