मैं जर्सी का उपयोग एक RESTful एपीआई को लागू करने के लिए कर रहा हूं जो मुख्य रूप से JSON एन्कोडेड डेटा को पुनः प्राप्त और सेवा करता है। लेकिन मेरे पास कुछ परिस्थितियां हैं जहां मुझे निम्नलिखित की आवश्यकता है:
- PDF, XLS, ZIP, या अन्य बाइनरी फ़ाइलों जैसे डाउनलोड करने योग्य दस्तावेज़ों को निर्यात करें।
- मल्टीपार्ट डेटा को पुनः प्राप्त करें, जैसे कि कुछ JSON प्लस एक अपलोड की गई XLS फ़ाइल
मेरे पास एक एकल पेज JQuery- आधारित वेब क्लाइंट है जो इस वेब सेवा के लिए AJAX कॉल करता है। फिलहाल, यह फॉर्म सबमिट नहीं करता है, और GET और POST (JSON ऑब्जेक्ट के साथ) का उपयोग करता है। क्या मुझे डेटा और एक संलग्न बाइनरी फ़ाइल भेजने के लिए एक फॉर्म पोस्ट का उपयोग करना चाहिए, या क्या मैं JSON प्लस बाइनरी फ़ाइल के साथ एक मल्टीपार्ट अनुरोध बना सकता हूं?
मेरे एप्लिकेशन की सर्विस लेयर इस समय एक बाइटएयरऑउटपुटस्ट्रीम बनाती है, जब वह एक पीडीएफ फाइल बनाती है। जर्सी के माध्यम से क्लाइंट को इस स्ट्रीम को आउटपुट करने का सबसे अच्छा तरीका क्या है? मैंने एक MessageBodyWriter बनाया है, लेकिन मुझे पता नहीं है कि इसे एक जर्सी संसाधन से कैसे उपयोग किया जाए। क्या यह सही तरीका है?
मैं जर्सी के साथ शामिल नमूनों के माध्यम से देख रहा हूं, लेकिन अभी तक कुछ भी नहीं मिला है जो बताता है कि इन चीजों में से कैसे करें। यदि यह मायने रखता है, तो मैं XML- स्टेप के बिना JSON पर ऑब्जेक्ट-> JSON के साथ जर्सी का उपयोग कर रहा हूं और वास्तव में JAX-RS का उपयोग नहीं कर रहा हूं।
Response
ऑब्जेक्ट के लिए StreamingOutput को इकाई के रूप में वापस करना भी संभव है । इस तरह आप आसानी से mediatype, HTTP response code आदि को नियंत्रित कर सकते हैं। मुझे बताएं कि क्या आप चाहते हैं कि मैं कोड पोस्ट करूं।