[REST] [1] दृष्टिकोण वेब संसाधन के लिए CRUD नियमों को लागू करने के लिए POST, GET, PUT और DELETE का उपयोग करता है। यह वेब पर अनुरोधों के लिए ऑब्जेक्ट्स का पर्दाफाश करने का एक सरल और साफ तरीका है। यह बिना किसी ओवरहेड के वेब सेवाएं है।
अर्थात् मतभेदों को स्पष्ट करने के लिए। प्रत्येक ऑपरेशन अलग है। बिंदु यह है कि अच्छे HTTP विधियां हैं जिनके स्पष्ट, स्पष्ट अर्थ हैं।
पोस्ट नई वस्तुओं को बनाता है। यूआरआई की कोई कुंजी नहीं है; यह एक संदेश निकाय स्वीकार करता है जो वस्तु को परिभाषित करता है। एसक्यूएल सम्मिलित करें। [संपादित कोई तकनीकी कारण पोस्ट कोई कुंजी है करने के लिए के लिए है, वहीं बाकी लोगों को दृढ़ता से सुझाव पोस्ट अलग अर्थ बनाने के रूप में करने के लिए के लिए, यह एक महत्वपूर्ण नहीं होना चाहिए कि।]
प्राप्त मौजूदा वस्तुओं प्राप्त करता है। यूआरआई एक कुंजी है, इस पर निर्भर करता है कि आप सिंगलटन प्राप्त कर रहे हैं या सूची प्राप्त करें। एसक्यूएल का चयन
PUT एक मौजूदा ऑब्जेक्ट को अद्यतन करता है। यूआरआई की एक कुंजी है; यह एक संदेश निकाय स्वीकार करता है जो किसी ऑब्जेक्ट को अपडेट करता है। एसक्यूएल अपडेट
DELETE किसी मौजूदा ऑब्जेक्ट को हटा देता है। यूआरआई की एक कुंजी है। एसक्यूएल हटाएं।
क्या आप पुट के बजाय POST के साथ एक रिकॉर्ड अपडेट कर सकते हैं? कुछ अस्पष्टता शुरू किए बिना नहीं। क्रियाओं के स्पष्ट प्रभाव होना चाहिए। इसके अलावा, पोस्ट यूआरआई की कोई कुंजी नहीं है, जहां PUT की कुंजी होनी चाहिए।
जब मैं पोस्ट करता हूं, तो मुझे 201 क्रेडिट की उम्मीद है। अगर मुझे यह नहीं मिलता है, तो कुछ गलत है। इसी तरह, जब मैं पुट करता हूं, तो मुझे 200 ओके की उम्मीद है। अगर मुझे यह नहीं मिलता है, तो कुछ गलत है।
मुझे लगता है कि आप कुछ अस्पष्टता पर जोर दे सकते हैं जहां पोस्ट या तो पोस्ट या पुट करता है। यूआरआई अलग होना है; संबंधित संदेश भी अलग हो सकता है। आम तौर पर, आरईएसटी लोग एसक्यूएल से अपना क्यू लेते हैं जहां आईएनएसईआरटी और अपडेट अलग-अलग क्रियाएं होती हैं।
आप यह मामला बना सकते हैं कि यदि रिकॉर्ड मौजूद नहीं है या रिकॉर्ड मौजूद है तो अद्यतन अद्यतन नहीं होना चाहिए। हालांकि, यह आसान है अगर अद्यतन का मतलब अद्यतन हो और अद्यतन करने में विफलता का अर्थ कुछ गलत है। आईएनएसईआरटी के लिए एक गुप्त गिरावट ऑपरेशन संदिग्ध बनाता है।
यदि आप एक विश्वसनीय इंटरफ़ेस नहीं बना रहे हैं, तो यह पुनर्प्राप्त करने और बनाने/अपडेट करने के लिए केवल GET और POST का उपयोग करना सामान्य है। जब कोई व्यक्ति किसी फॉर्म पर सबमिट करने पर क्लिक कर रहा है तो पोस्ट और PUT के बीच अंतर करने के लिए यूआरआई मतभेद या संदेश सामग्री अंतर होना आम बात है। हालांकि, यह बहुत साफ नहीं है क्योंकि आपके कोड को यह निर्धारित करना है कि क्या आप POST = create केस या POST = अद्यतन केस में हैं या नहीं।
कर आप केवल प्राप्त और पोस्ट का उपयोग करने का सुझाव दे रहे हैं? मैं इसे बाहर नहीं कर सका। – Till
इसे इंगित करने के लिए धन्यवाद, मैंने प्रश्न स्पष्ट किया है। – Gili
गिली, नीचे आप भी PUT बाहर फेंकना चाहते हैं। मुझे लगता है कि आपको स्क्रैच से सवाल फिर से लिखना होगा। ऐसा लगता है कि वेब जीईटी और पोस्ट के साथ मिलता है, इसलिए शायद वे पर्याप्त हैं। – pbreitenbach