package org.jboss.resteasy.test.providers.multipart.resource; import org.jboss.resteasy.plugins.providers.multipart.InputPart; import org.jboss.resteasy.plugins.providers.multipart.MultipartInput; import javax.ws.rs.Consumes; import javax.ws.rs.POST; import javax.ws.rs.Path; import javax.ws.rs.Produces; import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response; import java.io.IOException; @Path("") public class EmbeddedMultipartResource { @Path("embedded") @POST @Consumes("multipart/mixed") @Produces(MediaType.TEXT_PLAIN) public Response post(MultipartInput input) throws Exception { InputPart inputPart = input.getParts().iterator().next(); MultipartInput multipart = inputPart.getBody(MultipartInput.class, null); inputPart = multipart.getParts().iterator().next(); EmbeddedMultipartCustomer customer = inputPart.getBody(EmbeddedMultipartCustomer.class, null); return Response.ok(customer.getName()).build(); } @Path("customer") @POST @Consumes("multipart/mixed") @Produces(MediaType.TEXT_PLAIN) public Response postCustomer(MultipartInput input) throws IOException { InputPart part = input.getParts().iterator().next(); EmbeddedMultipartCustomer customer = part.getBody(EmbeddedMultipartCustomer.class, null); return Response.ok(customer.getName()).build(); } @Path("invalid") @POST @Consumes("multipart/mixed") @Produces(MediaType.TEXT_PLAIN) public Response postInvalid(MultipartInput input) throws IOException { InputPart part = input.getParts().iterator().next(); Object o = part.getBody(EmbeddedMultipartResource.class, null); return Response.ok(o).build(); } }