मौजूदा संसाधनों को अपडेट करना (PATCH)
यह पृष्ठ JSON:API मॉड्यूल के लिए PATCH अनुरोधों के उदाहरण दिखाता है।
अपडेट ऑपरेशन सक्षम करना
/admin/config/services/jsonapi पर जाएँ
और "Accept all JSON:API create, read, update, and delete operations." विकल्प को चुनें।
प्रमाणीकरण (Authentication)
आमतौर पर PATCH अनुरोधों के लिए किसी प्रकार का प्रमाणीकरण उपयोग किया जाता है। नीचे दिए गए उदाहरण सभी Basic Authentication का उपयोग करते हैं। HTTP Basic Authentication मॉड्यूल सक्षम करें, API उपयोगकर्ता (और भूमिका) के लिए अनुमति सेट करें और 'Authorization' अनुरोध हेडर में एन्कोड किया हुआ यूज़रनेम और पासवर्ड जोड़ें।
इस पृष्ठ पर दिखाए गए हेडर के लिए Drupal उपयोगकर्ता 'api' और पासवर्ड 'api' आवश्यक है। इस उपयोगकर्ता के पास अनुरोधित सामग्री को अपडेट करने की अनुमति होनी चाहिए।
हेडर
सभी PATCH अनुरोधों पर सही JSON:API अनुरोध और प्रतिक्रिया प्राप्त करने के लिए निम्नलिखित हेडर अनिवार्य हैं:
- Accept: application/vnd.api+json
- Content-Type: application/vnd.api+json
उदाहरणों के काम करने के लिए निम्नलिखित हेडर की आवश्यकता है:
- Authorization: Basic VALUE
आप ऊपर दिए गए VALUE को अपनी एप्लीकेशन्स में कमांड लाइन का उपयोग करके प्राप्त कर सकते हैं:
echo -n "USERNAME:PASSWORD" | base64 -w0
ऊपर लौटे मान का उपयोग BASIC के बाद करें। इस उदाहरण में, api:api की जानकारी YXBpOmFwaQ== लौटाती है, इसलिए हेडर इस प्रकार दिखेगा:
Authorization: Basic YXBpOmFwaQ==
बेसिक PATCH अनुरोध
URL: http://example.com/jsonapi/node/article/{{article_uuid}}
अनुरोध बॉडी
{
"data": {
"type": "node--article",
"id": "{{article_uuid}}",
"attributes": {
"title": "मेरा अपडेट किया हुआ शीर्षक"
}
}
}
"id" आवश्यक है। उन attributes को जोड़ें जिन्हें अपडेट किया जाना चाहिए।
प्रतिक्रिया
HTTP 200 प्रतिक्रिया। प्रतिक्रिया बॉडी में अपडेट की गई इकाई (entity) का JsonApi उत्तर होगा।
अधिक attributes के साथ PATCH
URL: http://example.com/jsonapi/node/article/{{article_uuid}}
अनुरोध बॉडी
{
"data": {
"type": "node--article",
"id": "{{article_uuid}}",
"attributes": {
"title": "मेरा अपडेट किया हुआ शीर्षक",
"body": {
"value": "अपडेट किया हुआ बॉडी टेक्स्ट",
"format": "plain_text",
"summary": "अपडेट किया हुआ सारांश"
}
},
"relationships": {
"uid": {
"data": {
"type": "user--user",
"id": "{{user_uuid}}"
}
}
}
}
}
प्रतिक्रिया
HTTP 200 प्रतिक्रिया। प्रतिक्रिया बॉडी में अपडेट किया गया बॉडी, सारांश और लेखक (author) सहित अपडेट की गई इकाई होगी।
एक संबंध (relationship) को हटाने के लिए PATCH
{
"data": {
"type": "node--article",
"id": "{{article_uuid}}",
"attributes": {
"title": "मेरा अपडेट किया हुआ शीर्षक",
"body": {
"value": "अपडेट किया हुआ बॉडी टेक्स्ट",
"format": "plain_text",
"summary": "अपडेट किया हुआ सारांश"
}
},
"relationships": {
"my_entity_reference_field": {
"data": {},
}
}
}
}
प्रतिक्रिया
HTTP 200 प्रतिक्रिया। प्रतिक्रिया बॉडी में अपडेट किया गया बॉडी, सारांश और entity reference हटा दिया जाएगा।
लेख स्रोत: Drupal Documentation।