2012-06-04 8 views
7

में एचटीपीडीलेट या एचटीपीपीट का उपयोग कब करना चाहिए जब मैं डेटाबेस पर एक डिलीट विधि निष्पादित कर रहा हूं तब भी मैं हमेशा HttpGet या HttpPost का उपयोग करता हूं।मुझे एएसपीनेट एमवीसी एप्लीकेशन

इसके लिए मुझे तब HttpDelete/HttpPut का उपयोग करने के लिए क्या करना चाहिए?

+0

आप वास्तव में इसे Google कर सकते हैं। अपने प्रश्न का उत्तर दें: आप हमेशा डेटा बदलने के लिए पोस्ट का उपयोग कर सकते हैं। पुट और डिलीट का उपयोग करने की वास्तविक आवश्यकता नहीं है। अधिकांश अनुप्रयोगों का उपयोग नहीं करते हैं। – gdoron

+1

सलाह का एक शब्द: सार्वजनिक वेब पर जहां खोज मकड़ियों तक पहुंच सकते हैं - पोस्ट प्राप्त नहीं होने पर हर गेट ट्रिगर होता है। इसलिए यदि आप डेटा में हेरफेर करने के लिए एक अनुरोध प्राप्त कर सकते हैं तो सावधान रहें कि लिंक कितना दृश्यमान है। एफडब्ल्यूआईडब्ल्यू – LosManos

+0

http://prideparrot.com/blog/archive/2011/10/using_http_methods_in_rest – VJAI

उत्तर

2

यदि आप OData सेवा बनाते हैं।

HTTP हटाएं - निर्दिष्ट संसाधन का प्रतिनिधित्व करने वाले इकाई डेटा को हटा देता है। अनुरोध या प्रतिक्रिया संदेशों में एक पेलोड मौजूद नहीं है।

HTTP पुट - अनुरोध संदेश पर मौजूदा इकाई डेटा को नए संदेश के साथ अनुरोध संदेश के पेलोड में प्रदान किया गया है। (msdn)

a presentation with Scott Hanselman है जो दिलचस्प हो सकता है। (मैंने इसे अभी तक नहीं देखा है।)

यदि आपके पास कोई सदस्यता है तो ओडाटा पर a couple of lectures on pluralsight भी है।

14

वेब ब्राउज़र केवल जीईटी और पोस्ट का समर्थन करते हैं, इसलिए यदि आप कोई वेबसाइट बना रहे हैं, तो PUT या DELETE की आवश्यकता नहीं है। यदि आप एक विश्वसनीय एपीआई बना रहे हैं, हालांकि, यदि आप चाहते हैं कि आपके उपयोगकर्ता सामान डालने और/या हटाने में सक्षम हों, तो पुट और डिलीट जाने का तरीका है।

संपादित करें: ऐसा लगता है कि ब्राउज़र XMLHttpRequest के उनके कार्यान्वयन में DELETE और PUT का समर्थन करते हैं। इसलिए आप उन्हें AJAX अनुरोधों में उपयोग कर सकते हैं। एचटीएमएल फॉर्म, हालांकि, उनका समर्थन नहीं करते हैं।

2

मुझे लगता है कि आप DELETE अनुरोध के उपयोग के बारे में समझा है लेकिन PUT एक छोटी सी बात है।

यदि मैं सर्वर में एक नया संसाधन बना रहा हूं और यदि यूआरआई जिसके माध्यम से इसे एक्सेस किया जा सकता है तो मेरे द्वारा तय किया जाता है तो मैं PUT के लिए जाऊंगा। ज्यादातर मामलों में यूआरआई सर्वर द्वारा तय किया जाता है और इसलिए POST सृजन के लिए जाते हैं और आमतौर पर अद्यतन के लिए PUT जाते हैं।

अंतिम बात यह है GET दोनों DELETE और PUT idempotent रहे हैं, कितनी बार ग्राहक पहले अनुरोध के रूप में अनुरोध क्रमानुसार सर्वर के राज्य में एक ही करने के लिए बदला जाना चाहिए भेजने का मतलब है।

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