Necesito recibir un HTTP Post Multipart que contiene solo 2 parámetros:
- Una cadena JSON
- Un archivo binario
¿Cuál es la forma correcta de configurar el cuerpo? Voy a probar la llamada HTTP usando la consola REST de Chrome, así que me pregunto si la solución correcta es establecer una clave de "etiqueta" para el parámetro JSON y el archivo binario.
En el lado del servidor estoy usando Resteasy 2.x, y voy a leer el cuerpo de Multipartes así:
@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
}
¿Es este el camino a seguir? ¿Es correcto recuperar mi cadena JSON usando la clave "myJsonName" que identifica esa disposición de contenido en particular? ¿Hay alguna otra forma de recibir estos 2 contenidos en una solicitud HTTP de varias partes?
Gracias por adelantado