J'ai besoin de recevoir un HTTP Post Multipart qui ne contient que 2 paramètres:
- Une chaîne JSON
- Un fichier binaire
Quelle est la bonne façon de définir le corps? Je vais tester l'appel HTTP à l'aide de la console Chrome REST, je me demande donc si la bonne solution est de définir une clé «étiquette» pour le paramètre JSON et le fichier binaire.
Du côté du serveur, j'utilise Resteasy 2.x, et je vais lire le corps de Multipart comme ceci:
@POST
@Consumes("multipart/form-data")
public String postWithPhoto(MultipartFormDataInput multiPart) {
Map <String, List<InputPart>> params = multiPart.getFormDataMap();
String myJson = params.get("myJsonName").get(0).getBodyAsString();
InputPart imagePart = params.get("photo").get(0);
//do whatever I need to do with my json and my photo
}
Est-ce la voie à suivre? Est-il correct de récupérer ma chaîne JSON à l'aide de la clé "myJsonName" qui identifie cette disposition de contenu particulière? Existe-t-il un autre moyen de recevoir ces 2 contenus en une seule requête HTTP en plusieurs parties?
Merci d'avance