[英]REST - HTTP Post Multipart with JSON
我需要接收僅包含2個參數的HTTP Post Multipart:
設置身體的正確方法是哪一種? 我要測試使用Chrome REST控制台HTTP調用,所以我不知道是否正確的解決辦法是設置為JSON參數和二進制文件“標簽”鍵。
在服務器端,我正在使用Resteasy 2.x,我將像這樣閱讀Multipart主體:
@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
}
這是要走的路嗎? 使用標識該特定內容處置的鍵“ myJsonName”檢索我的JSON字符串是否正確? 還有其他方法可以在一個HTTP多部分請求中接收這2個內容嗎?
提前致謝
如果我對您的理解正確,那么您想從HTTP / REST控制台手動編寫一個多部分請求。 分段格式很簡單; 簡短的介紹可以在HTML 4.01規范中找到 。 您需要提出一個邊界,即在內容中找不到的字符串,比方說HereGoes
。 您設置請求標頭Content-Type: multipart/form-data; boundary=HereGoes
Content-Type: multipart/form-data; boundary=HereGoes
。 然后,這應該是有效的請求正文:
--HereGoes
Content-Disposition: form-data; name="myJsonString"
Content-Type: application/json
{"foo": "bar"}
--HereGoes
Content-Disposition: form-data; name="photo"
Content-Type: image/jpeg
Content-Transfer-Encoding: base64
<...JPEG content in base64...>
--HereGoes--
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.