Dans Jersey Je peux envoyer des données multipart/mixtes comme celui-ci:lecture Jersey emboîtés multipart (multipart/mixte)
MultiPart multipartWrapper = new MultiPart(MultiPartMediaTypes.MULTIPART_MIXED_TYPE);
for (IMessageContainer msgCont : input.getMessages()) {
MultiPart m = new MultiPart(MultiPartMediaTypes.MULTIPART_MIXED_TYPE)
.bodyPart(
new BodyPart(msgCont.getDescription(), MediaType.APPLICATION_JSON_TYPE))
.bodyPart(
new BodyPart(msgCont.getDetails(), MediaType.APPLICATION_OCTET_STREAM_TYPE));
//nest the new multipart into a bodypart within the root multipart
multipartWrapper.bodyPart(new BodyPart(m, MultiPartMediaTypes.MULTIPART_MIXED_TYPE));
}
}
Cette enveloppe multipart/mixed peut être envoyé sur le fil dans le cadre d'une réponse. Du côté de réception, nous pouvons faire
MultiPart entity = response.readEntity(MultiPart.class);
List<BodyPart> bodyParts = entity.getBodyParts();
List<IMessageWrapper> rslt = new ArrayList<>();
for(BodyPart bp : bodyParts) {
//how do we get the wrapped Multipart here, so we can
//get into its BodyParts?
}
Je sens qu'il me manque quelque chose. Comment pouvons-nous obtenir le Multipart enveloppé dans le BodyPart? Lors de l'examen du BodyPart, il contient simplement org.jvnet.mimepull.MimePart.