HTTP प्रोटोकॉल में PUT, POST और PATCH तरीकों में क्या अंतर है?
HTTP प्रोटोकॉल में PUT, POST और PATCH तरीकों में क्या अंतर है?
जवाबों:
HTTP Verbs में PUT, POST, GET, DELETE और PATCH के बीच अंतर:
डेटाबेस में सबसे अधिक इस्तेमाल होने वाली HTTP क्रियाएं POST, GET, PUT, DELETE, CRUD (क्रिएट, रीड, अपडेट और डिलीट) ऑपरेशन्स के समान हैं। हम इन HTTP क्रियाओं को पूंजी मामले में निर्दिष्ट करते हैं । तो, नीचे उनके बीच तुलना है।
PATCH: किसी संसाधन में आंशिक संशोधन करता है। यदि आपको संसाधन के लिए केवल एक फ़ील्ड अपडेट करने की आवश्यकता है, तो आप PATCH विधि का उपयोग करना चाह सकते हैं।
नोट:
चूंकि POST, PUT, DELETE सामग्री को संशोधित करता है, नीचे दिए गए url के लिए Fiddler के साथ परीक्षण केवल अपडेशन की नकल करता है। यह वास्तव में हटा या संशोधित नहीं करता है। हम केवल यह देखने के लिए कि क्या सम्मिलन, अपडेशन, विलोपन होते हैं, स्थिति कोड देख सकते हैं।
URL: http://jsonplaceholder.typicode.com/posts/
1) प्राप्त करें:
GET HTTP अनुरोध विधि का सबसे सरल प्रकार है; हर बार जब आप किसी लिंक पर क्लिक करते हैं या एड्रेस बार में एक URL टाइप करते हैं, तो ब्राउज़र का उपयोग होता है। यह सर्वर को URL द्वारा पहचाने गए डेटा को क्लाइंट तक पहुँचाने का निर्देश देता है। GET अनुरोध के परिणामस्वरूप डेटा को कभी भी सर्वर साइड पर संशोधित नहीं किया जाना चाहिए। इस अर्थ में, एक GET अनुरोध केवल पढ़ने के लिए है।
फ़िडलर या पोस्टमैन के साथ जाँच: हम रिस्पांस की जाँच के लिए फ़िडलर का उपयोग कर सकते हैं। फ़िडलर खोलें और कम्पोज़ टैब चुनें। नीचे दिए गए अनुसार क्रिया और यूआरएल निर्दिष्ट करें और प्रतिक्रिया की जांच करने के लिए निष्पादन पर क्लिक करें।
क्रिया: प्राप्त
url: http://jsonplaceholder.typicode.com/posts/
प्रतिक्रिया: आपको प्रतिक्रिया इस प्रकार मिलेगी:
"userId": 1, "id": 1, "शीर्षक": "sunt aut ...", "बॉडी": "quia et suscipit ..."
"खुश" (या गैर-त्रुटि) पथ में, GET XML या JSON में प्रतिनिधित्व और 200 का एक HTTP प्रतिक्रिया कोड (OK) देता है। त्रुटि के मामले में, यह अक्सर 404 (NOT FOUND) या 400 (BAD REQUEST) देता है।
2) पोस्ट:
POST क्रिया का उपयोग ज्यादातर नए संसाधन बनाने के लिए किया जाता है । विशेष रूप से, इसका उपयोग अधीनस्थ संसाधन बनाने के लिए किया जाता है। अर्थात्, कुछ अन्य (जैसे माता-पिता) संसाधन के अधीनस्थ।
सफल निर्माण पर, HTTP स्थिति 201 को लौटाएं, 201 HTTP स्थिति के साथ नव-निर्मित संसाधन के लिंक के साथ एक स्थान हेडर लौटाएं।
फ़िडलर या पोस्टमैन के साथ जाँच: हम रिस्पांस की जाँच के लिए फ़िडलर का उपयोग कर सकते हैं। फ़िडलर खोलें और कम्पोज़ टैब चुनें। नीचे दिए गए अनुसार क्रिया और यूआरएल निर्दिष्ट करें और प्रतिक्रिया की जांच करने के लिए निष्पादन पर क्लिक करें।
क्रिया: POST
url: http://jsonplaceholder.typicode.com/posts/
अनुरोध निकाय:
डेटा: {शीर्षक: 'फू', बॉडी: 'बार', यूजरआईडी: १०००, आईडी: १०००}
प्रतिक्रिया: आपको 201 के रूप में प्रतिक्रिया कोड प्राप्त होगा।
यदि हम Id = 1000 के साथ सम्मिलित रिकॉर्ड को जांचना चाहते हैं, तो उसी url को पाने और उपयोग करने के लिए क्रिया को बदलें और Execute पर क्लिक करें।
जैसा कि पहले कहा गया था, उपरोक्त url केवल रीड (GET) की अनुमति देता है, हम अपडेट किए गए डेटा को वास्तविक में नहीं पढ़ सकते हैं।
3) PUT:
PUT को अक्सर अद्यतन क्षमताओं के लिए उपयोग किया जाता है, मूल संसाधन के नव-अद्यतन प्रतिनिधित्व वाले अनुरोध निकाय के साथ एक ज्ञात संसाधन URI के लिए PUT-ing।
फ़िडलर या पोस्टमैन के साथ जाँच: हम रिस्पांस की जाँच के लिए फ़िडलर का उपयोग कर सकते हैं। फ़िडलर खोलें और कम्पोज़ टैब चुनें। नीचे दिए गए अनुसार क्रिया और यूआरएल निर्दिष्ट करें और प्रतिक्रिया की जांच करने के लिए निष्पादन पर क्लिक करें।
क्रिया: PUT
url: http://jsonplaceholder.typicode.com/posts/1
अनुरोध निकाय:
डेटा: {शीर्षक: 'फू', बॉडी: 'बार', उपयोगकर्ता आईडी: १, आईडी: १}
प्रतिक्रिया: सफल अपडेट पर यह 200 (या 204 यदि शरीर में कोई भी सामग्री नहीं लौटाता है) एक पीयूटी से लौटाता है।
4) DELETE:
DELETE समझने में बहुत आसान है। इसका उपयोग URI द्वारा पहचाने गए संसाधन को हटाने के लिए किया जाता है ।
सफल विलोपन पर, प्रतिक्रिया बॉडी के साथ HTTP स्टेटस 200 (ओके), संभवतया हटाए गए आइटम का प्रतिनिधित्व (अक्सर बहुत अधिक बैंडविड्थ की मांग करता है), या एक लिपटे प्रतिक्रिया (नीचे दिए गए रिटर्न वैल्यू देखें)। या तो कोई प्रतिक्रिया शरीर के साथ HTTP स्थिति 204 (NO CONTENT) लौटाएं। दूसरे शब्दों में, बिना शरीर वाली 204 स्थिति, या JSEND- शैली प्रतिक्रिया और HTTP स्थिति 200 अनुशंसित प्रतिक्रियाएं हैं।
फ़िडलर या पोस्टमैन के साथ जाँच: हम रिस्पांस की जाँच के लिए फ़िडलर का उपयोग कर सकते हैं। फ़िडलर खोलें और कम्पोज़ टैब चुनें। नीचे दिए गए अनुसार क्रिया और यूआरएल निर्दिष्ट करें और प्रतिक्रिया की जांच करने के लिए निष्पादन पर क्लिक करें।
क्रिया: DELETE
url: http://jsonplaceholder.typicode.com/posts/1
प्रतिक्रिया: सफल विलोपन पर यह प्रतिसाद निकाय के साथ HTTP स्थिति 200 (OK) देता है।
PUT और PATCH के बीच का उदाहरण
डाल
अगर मुझे अपना पहला नाम बदलना है तो अपडेट के लिए PUT अनुरोध भेजें:
{"प्रथम": "नज़्मुल", "अंतिम": "हसन"} तो, यहां पहले नाम को अद्यतन करने के लिए हमें डेटा के सभी मापदंडों को फिर से भेजने की आवश्यकता है।
PATCH:
पैच अनुरोध में कहा गया है कि हम केवल उन डेटा को भेजेंगे जिन्हें हमें संशोधित करने या डेटा के अन्य भागों को प्रभावित किए बिना संशोधित करने की आवश्यकता है। Ex: अगर हमें केवल पहले नाम को अपडेट करने की आवश्यकता है, तो हम केवल पहला नाम पास करते हैं।
कृपया अधिक जानकारी के लिए नीचे दिए गए लिंक देखें:
https://jsonplaceholder.typicode.com/
https://github.com/typicode/jsonplaceholder#how-to
PUT = ENTIRE RESOURCE को नए प्रतिनिधित्व के साथ बदलें
PATCH = प्रदान किए गए मानों के साथ स्रोत संसाधन के कुछ हिस्सों को प्रतिस्थापित करें। या संसाधन के अन्य भागों को अद्यतन किया जाता है जिसे आपने प्रदान किया है (टाइमस्टैम्प) और | संसाधन प्रभाव को अद्यतन करने से अन्य संसाधन (संबंध)
नीचे दी गई परिभाषा वास्तविक दुनिया उदाहरण से है।
उदाहरण अवलोकन
प्रत्येक ग्राहक डेटा के लिए, हम उस क्लाइंट डेटा को खोजने के लिए एक पहचानकर्ता का भंडारण कर रहे हैं और हम उस पहचानकर्ता को संदर्भ के लिए उस ग्राहक को वापस भेज देंगे।
पद
डाल
PATCH
नोट: पुट विधि पर, हम एक अपवाद नहीं फेंक रहे हैं यदि कोई पहचानकर्ता नहीं मिला है। लेकिन में पैच विधि, तो एक अपवाद फेंक रहे हैं, तो पहचानकर्ता नहीं मिला है।
क्या आपको पता है कि आपके ऊपर कोई सवाल है।
जीईटी / पीयूटी बेमतलब है PATCH कभी-कभी बेकार हो सकता है
क्या है बेरोजगार - इसका मतलब है कि अगर हम कई बार क्वेरी को आग लगाते हैं, तो इसका परिणाम प्रभावित नहीं करना चाहिए। (एक ही आउटपुट। एक गाय गर्भवती है और अगर हम इसे फिर से प्रजनन करते हैं तो यह कई बार गर्भवती नहीं हो सकती है)
get
: -सरल मिलता है। सर्वर से डेटा प्राप्त करें और इसे उपयोगकर्ता को दिखाएं
{
id:1
name:parth
email:x@x.com
}
post
: -डेटाबेस में नया संसाधन बनाएँ। इसका मतलब है कि यह नया डेटा जोड़ता है। इसका कोई मतलब नहीं है।
put
: -नया संसाधन बनाएं अन्यथा मौजूदा में जोड़ें। बेरोजगार क्योंकि यह हर बार समान संसाधन को अपडेट करेगा और आउटपुट समान होगा। पूर्व। - प्रारंभिक आंकड़े
{
id:1
name:parth
email:x@x.com
}
{
id:1
email:ppp@ppp.com
}
patch
तो अब पैच अनुरोध आया PATCH कभी-कभी बेकार हो सकता है
id:1
name:parth
email:x@x.com
}
पैच नाम: w
{
id:1
name:w
email:x@x.com
}
HTTP विधि जी हाँ पोस्ट नं हाँ हाँ पाट नं * विकल्प हाँ हाँ, हाँ DELETE हाँ
संसाधन: Idempotent - Idempotency क्या है?
PUT और PATCH अनुरोधों के बीच मुख्य अंतर :
मान लीजिए हमारे पास एक संसाधन है जो किसी व्यक्ति का पहला नाम और अंतिम नाम रखता है।
अगर हम पहला नाम बदलना चाहते हैं तो हम अपडेट के लिए एक पुट रिक्वेस्ट भेजें
{ "first": "Michael", "last": "Angelo" }
यहां, हालांकि हम केवल पहला नाम बदल रहे हैं, लेकिन PUT अनुरोध के साथ हमें पहले और अंतिम दोनों मापदंडों को भेजना होगा।
दूसरे शब्दों में, सभी मूल्यों को फिर से भेजना अनिवार्य है, पूर्ण पेलोड।
जब हम एक PATCH अनुरोध भेजते हैं, हालांकि, हम केवल उस डेटा को भेजते हैं जिसे हम अपडेट करना चाहते हैं। दूसरे शब्दों में, हम केवल अपडेट करने के लिए पहला नाम भेजते हैं, अंतिम नाम भेजने की कोई आवश्यकता नहीं है।
PUT & PATCH wrt को क्रमशः बदलने / अद्यतन करने के लिए पूर्ण और आंशिक डेटा भेजने के बीच काफी अंतर है। हालांकि, नीचे दिए गए बिंदुओं के कुछ जोड़े
इस पर इस तरीके से विचार करें...
पोस्ट - बनाएँ
PUT - प्रतिस्थापित करें
पथ - अद्यतन
पढ़ो इसे
DELETE - हटाएं
सरलतम स्पष्टीकरण:
POST - नया रिकॉर्ड बनाएं
PUT - यदि रिकॉर्ड मौजूद है, तो और अपडेट करें, एक नया रिकॉर्ड बनाएं
पथ - अद्यतन
पढ़ो इसे
DELETE - हटाएं