Faire un HttpRequest avec MultipartEntity

J’ai été frustré d’essayer de comprendre comment créer une requête http avec une entité en plusieurs parties. Le multipart a une limite personnalisée, mais je n’arrive pas à le définir. Mon code ci-dessous génère un message de réponse indiquant que mon message ne contient pas plusieurs parties.

HttpPut addDoc = new HttpPut(url); addDoc.addHeader("Content-Type", "multipart/related; boundary=\"END_OF_PART\""); Ssortingng bodySsortingng = "Test for multipart update"; Ssortingng titleSsortingng = "Title Test for multipart update"; MultipartEntity entity = new MultipartEntity(HttpMultipartMode.BROWSER_COMPATIBLE); SsortingngBody title = new SsortingngBody(titleSsortingng, "application/atom+xml",Charset.forName("UTF-8")); SsortingngBody body = new SsortingngBody(bodySsortingng, "text/plain",Charset.forName("UTF-8")); entity.addPart("title", title); entity.addPart("body", body); addDoc.setEntity(entity); 

vous pouvez essayer de supprimer la partie addHeader de votre code et de changer votre constructeur en

 MultipartEntity entity = new MultipartEntity(HttpMultipartMode.BROWSER_COMPATIBLE,null,Charset.forName("UTF-8")); 

Tout d’abord, vous pouvez essayer d’utiliser:

 MultipartEntityBuilder multipartEntity = MultipartEntityBuilder.create(); 

qui est la bonne façon de l’initialiser, puis:

 addDoc.setEntity(entity.build()); 

En ce qui concerne la limite, votre question n’est pas claire: faut-il lire une limite personnalisée ou la définir, de toute façon la limite personnalisée est définie de la manière suivante;

 multipartEntity.setBoundary("some-mimetype-boundary-unique-ssortingng");