ฉันต้องการรับ HTTP Post Multipart ซึ่งมีเพียง 2 พารามิเตอร์:
- สตริง JSON
- ไฟล์ไบนารี
วิธีตั้งศพที่ถูกต้องคือข้อใด? ฉันกำลังจะทดสอบการเรียก HTTP โดยใช้คอนโซล Chrome REST ดังนั้นฉันจึงสงสัยว่าวิธีแก้ปัญหาที่ถูกต้องคือการตั้งค่าคีย์ "label" สำหรับพารามิเตอร์ 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
}
Is this the way to go? Is it correct to retrieve my JSON string using the key "myJsonName" that identify that particular content-disposition? Are there any other way to receive these 2 content in one HTTP multipart request?
Thanks in advance