ho bisogno di ricevere un messaggio Multipart HTTP che contiene solo 2 parametri:REST - HTTP Post Multipart con JSON
- Un JSON stringa
- Un file binario
Qual è il modo corretto per impostare il corpo? Sto testando la chiamata HTTP utilizzando la console REST di Chrome, quindi mi chiedo se la soluzione corretta è impostare una chiave "etichetta" per il parametro JSON e il file binario.
Sul lato server che sto utilizzando Resteasy 2.x, e ho intenzione di leggere il corpo Multipart come questo:
@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
}
E 'questa la strada da percorrere? È corretto recuperare la mia stringa JSON utilizzando la chiave "myJsonName" che identifica quel particolare contenuto-disposizione? C'è un altro modo per ricevere questi 2 contenuti in una richiesta multipart HTTP?
Grazie in anticipo
Che tipo di risorsa REST è presente? In che modo due parti si riferiscono al livello di risorse? –
In realtà il modo in cui gestiamo questa risorsa non è totalmente RESTful perché l'immagine è un "componente" della risorsa invece di un'altra risorsa. – thermz