2017-04-04 11 views
0

を読み取る:ジャージー私はこのような混合/マルチパートデータを送信することができるジャージーにネストマルチパート(マルチパート/混合)

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)); 
      } 
     } 

これは、混合/マルチ包囲現在、応答の一部として、ワイヤを介して送信することができます。受信側で行うことができます

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? 
    } 

私は何かが不足しているように感じます。 BodyPartの中に包まれたMultipartにどうやって到達できますか? BodyPartを調べると、org.jvnet.mimepull.MimePartが囲まれます。

答えて

0

投稿した直後の回答は明らかでした。

MultiPart nestedMultiPart = (MultiPart)bp.getEntity(); 
List<BodyPart> msgParts = nestedMultiPart.getBodyParts(); 
関連する問題