PATCH
अनुरोध एक संसाधन पर लागू होने वाले संचालन के एक सेट का वर्णन करते हैं, यदि आप एक ही संसाधन के लिए दो बार संचालन के एक ही सेट को लागू करते हैं, तो परिणाम समान नहीं हो सकता है। इसका कारण यह है कि संचालन को परिभाषित करना आपके ऊपर है। दूसरे शब्दों में, आपको विलय के नियमों को परिभाषित करना होगा ।
याद रखें PATCH
अनुरोध केवल JSON ही नहीं, कई अलग-अलग स्वरूपों में संसाधनों को पैच करने के लिए इस्तेमाल किया जा सकता है।
यदि आप मर्जिंग नियमों को निर्धारित करते हैं, तो एक PATCH
निवेदन निष्प्राण हो सकता है ।
आदर्श उदाहरण:
// Original resource
{
name: 'Tito',
age: 32
}
// PATCH request
{
age: 33
}
// New resource
{
name: 'Tito',
age: 33
}
गैर-बेरोजगार उदाहरण:
// Original resource
{
name: 'Tito',
age: 32
}
// PATCH request
{
$increment: 'age'
}
// New resource
{
name: 'Tito',
age: 33
}
दूसरे उदाहरण में मैंने एक "Mongo like" सिंटैक्स का उपयोग किया था जो मैंने एक विशेषता बढ़ाने के लिए बनाया था। स्पष्ट रूप से यह उदासीन नहीं है, क्योंकि एक ही अनुरोध को कई बार भेजने से हर बार अलग-अलग परिणाम आएंगे।
अब आप सोच रहे होंगे कि क्या इस तरह का बना हुआ सिंटैक्स मान्य है। मानकों के अनुसार , यह है:
PUT और PATCH अनुरोधों के बीच का अंतर उस तरह से परिलक्षित होता है जिस तरह से सर्वर अनुरोधित URI द्वारा पहचाने गए संसाधन को संशोधित करने के लिए संलग्न इकाई को संसाधित करता है। PUT अनुरोध में, संलग्न इकाई को मूल सर्वर पर संग्रहीत संसाधन का एक संशोधित संस्करण माना जाता है, और क्लाइंट अनुरोध कर रहा है कि संग्रहीत संस्करण को प्रतिस्थापित किया जाए। PATCH के साथ, हालांकि, संलग्न इकाई में निर्देशों का एक सेट होता है, जो बताता है कि वर्तमान में मूल सर्वर पर रहने वाले संसाधन को एक नया संस्करण बनाने के लिए कैसे संशोधित किया जाना चाहिए।
और अगर आप भी सोच रहा हो सकता है कि क्या यह है शोकहारा उपयोग करने के लिए PATCH
इस तरह का अनुरोध करता है, और कई लोगों पर विचार वे नहीं हैं, यहाँ एक है अच्छा जवाब मुद्दे के बारे में टिप्पणी की बहुत सारी के साथ।
{"name": "bendjamin franklin"}