2012-01-18 15 views
5

मैं एक शानदार वेब सेवा बना रहा हूं और कुछ संसाधन कंप्यूटिंग या प्रोसेसिंग फ़ंक्शन कर रहे हैं। उदाहरण के लिए, किसी उपयोगकर्ता को छवि सबमिट करके और स्केल या परिवर्तित छवि को वापस प्राप्त करके एपीआई के माध्यम से छवियों को स्केल और कनवर्ट करना संभव है।रीस्टफुल प्रोसेसिंग फ़ंक्शन/संसाधन: प्राप्त करें या पोस्ट करें?

Treat the processing function as a resource, and use HTTP GET to fetch a 
representation containing the output of the processing function. Use query 
parameters to supply inputs to the processing function. 

इस मामलों में जहां आदानों इस तरह के एक बिंदु के देशांतर/अक्षांश निर्देशांकों के रूप में सरल कर रहे हैं (के लिए स्पष्ट है:

RESTful वेब सेवाओं कुकबुक, खंड 2.5 के अनुसार, मैं का उपयोग करना चाहिए)। हालांकि, क्या मुझे छवियों जैसे बड़े इनपुट के लिए एक ही सलाह का पालन करना चाहिए? जहां तक ​​मुझे पता है कि यह डेटा एक क्वेरी पैरामीटर के रूप में भेजना संभव नहीं है।

उत्तर

6

पोस्ट का उपयोग करें। असल में आप सर्वर पर एक छवि अपलोड और प्रसंस्करण कर रहे हैं। ऐसा करने के लिए एक और तरीका नहीं सोच सकता जब तक कि छवि सर्वर पर पहले ही संग्रहीत न हो।

+0

यह यहां महत्वपूर्ण धारणा है: "छवि पहले ही सर्वर पर संग्रहीत है।" क्या इसे PUT या POST के साथ प्राप्त करना है [एक अलग प्रश्न] (http://stackoverflow.com/questions/630453/put-vs-post-in-rest)। – kdbanman

0

HTTP पर प्रोटोकॉल सीमाओं के कारण मैं इसके खिलाफ सलाह देता हूं। यह एक अपवाद का एक बहुत ही वैध बहुत व्यवहार्य उदाहरण है जिसे इस नियम में किया जाना चाहिए।

+0

अपने वर्तमान रूप में, यह उत्तर स्वीकार नहीं किया जाना चाहिए। साथी googler पर पढ़ें। – kdbanman

1

छवि एक संसाधन है। सर्वर पर संसाधन डालने के लिए PUT का उपयोग करें, फिर GET संसाधन, जो वांछित आकार को इंगित करने वाले पैरामीटर की आपूर्ति करता है।

+0

वाह, यह काफी उत्तेजित है! – sivabudh

+1

'पुट' का प्रयोग करें यदि केवल ग्राहक अनुरोध के हिस्से के रूप में छवि आईडी सबमिट करता है। यदि सर्वर छवि आईडी उत्पन्न करता है और उन्हें सफलता पर लौटाता है तो 'POST' का उपयोग करें। Google "REST idempotency", या [यह प्रश्न] देखें (http://stackoverflow.com/questions/630453/put-vs-post-in-rest) – kdbanman

+0

क्या होगा यदि हम संग्रहण के बारे में चिंतित हैं? तो हम डेटा को सहेज नहीं सकते हैं, और फिर PUT समझ में नहीं आता है – cammil

संबंधित मुद्दे