Muszę otrzymać wieloczęściowy post HTTP zawierający tylko 2 parametry:
- Ciąg JSON
- Plik binarny
Jaki jest prawidłowy sposób ustawienia ciała? Mam zamiar przetestować wywołanie HTTP za pomocą konsoli REST Chrome, więc zastanawiam się, czy właściwym rozwiązaniem jest ustawienie klucza „label” dla parametru JSON i pliku binarnego.
Po stronie serwera używam Resteasy 2.xi przeczytam treść Multipart w ten sposób:
@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
}
Czy to jest droga? Czy prawidłowe jest pobranie ciągu JSON przy użyciu klucza „myJsonName”, który identyfikuje tę konkretną dyspozycję zawartości? Czy istnieje inny sposób otrzymania tych 2 treści w jednym wieloczęściowym żądaniu HTTP?
Z góry dziękuję