ฉันใช้ Jersey เพื่อใช้ RESTful API ที่ดึงและให้บริการข้อมูลที่เข้ารหัส JSON เป็นหลัก แต่ฉันมีสถานการณ์บางอย่างที่ฉันต้องทำสิ่งต่อไปนี้ให้สำเร็จ:
- ส่งออกเอกสารที่ดาวน์โหลดได้เช่น PDF, XLS, ZIP หรือไฟล์ไบนารีอื่น ๆ
- ดึงข้อมูลหลายส่วนเช่น JSON บางส่วนพร้อมไฟล์ XLS ที่อัปโหลด
ฉันมีเว็บไคลเอนต์ที่ใช้ JQuery แบบหน้าเดียวที่สร้างการเรียก AJAX ไปยังบริการเว็บนี้ ในขณะนี้ยังไม่ทำการส่งแบบฟอร์มและใช้ GET และ POST (ด้วยออบเจ็กต์ JSON) ฉันควรใช้แบบฟอร์มโพสต์เพื่อส่งข้อมูลและไฟล์ไบนารีที่แนบมาหรือฉันสามารถสร้างคำขอหลายส่วนด้วยไฟล์ไบนารี JSON บวกได้หรือไม่
ปัจจุบันชั้นบริการของแอปพลิเคชันของฉันสร้าง ByteArrayOutputStream เมื่อสร้างไฟล์ PDF วิธีใดเป็นวิธีที่ดีที่สุดในการส่งกระแสข้อมูลนี้ไปยังลูกค้าผ่าน Jersey ฉันได้สร้าง MessageBodyWriter แล้ว แต่ฉันไม่รู้วิธีใช้จากแหล่งข้อมูล Jersey เป็นแนวทางที่ถูกต้องหรือไม่?
ฉันได้ดูตัวอย่างที่มาพร้อมกับเจอร์ซีย์แล้ว แต่ยังไม่พบอะไรเลยที่แสดงให้เห็นถึงวิธีการทำสิ่งเหล่านี้ ถ้าเป็นเรื่องสำคัญฉันใช้ Jersey กับ Jackson เพื่อทำ Object-> JSON โดยไม่มีขั้นตอน XML และฉันไม่ได้ใช้ JAX-RS จริงๆ
Response
ออบเจ็กต์ ด้วยวิธีนี้คุณสามารถควบคุมประเภทสื่อรหัสตอบกลับ HTTP ฯลฯ ได้อย่างง่ายดายโปรดแจ้งให้เราทราบหากคุณต้องการให้ฉันโพสต์รหัส