Preciso receber um HTTP Post Multipart que contém apenas 2 parâmetros:
- Uma string JSON
- Um arquivo binário
Qual a forma correta de definir o corpo? Vou testar a chamada HTTP usando o console REST do Chrome, então estou me perguntando se a solução correta é definir uma chave de "rótulo" para o parâmetro JSON e o arquivo binário.
No lado do servidor, estou usando o Resteasy 2.x e vou ler o corpo do Multipart assim:
@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
}
É este o caminho a percorrer? É correto recuperar minha string JSON usando a chave "myJsonName" que identifica essa disposição de conteúdo específica? Existe alguma outra maneira de receber esses 2 conteúdos em uma solicitação multiparte HTTP?
desde já, obrigado