संसाधन प्राप्त करना (GET)
यह पृष्ठ JSON:API मॉड्यूल के लिए विभिन्न GET अनुरोधों के उदाहरण दिखाता है।
नीचे दिए गए सभी उदाहरणों में, किसी भी अनुरोध हेडर की आवश्यकता नहीं है। यदि गुमनाम (anonymous) उपयोगकर्ता कंटेंट entities तक पहुँच सकते हैं, तो किसी प्रमाणीकरण की आवश्यकता नहीं होती। कॉन्फ़िग entities जैसे मेन्यू के लिए अंतिम अनुभाग देखें।
ध्यान दें कि सभी मामलों में जब id की आवश्यकता होती है, तो यह हमेशा entity का uuid होता है, न कि entity id।
Accept हेडर
सुनिश्चित करें कि आप हमेशा accept हेडर भेजते हैं: Accept: application/vnd.api+json।
curl \
--header 'Accept: application/vnd.api+json' \
....
बेसिक GET उदाहरण
URL: http://example.com/jsonapi/node/article/{{article_uuid}}
प्रतिक्रिया
HTTP 200 प्रतिक्रिया। प्रतिक्रिया बॉडी में एकल article node का JSON:API ऑब्जेक्ट होता है, जिसमें attributes, relationships, और links शामिल होते हैं।
कई लेख (articles) प्राप्त करें
URL: http://example.com/jsonapi/node/article
प्रतिक्रिया
HTTP 200 प्रतिक्रिया। प्रतिक्रिया बॉडी में अधिकतम 50 लेखों का JSON:API ऑब्जेक्ट होता है, जिसमें अगले (next) लिंक शामिल होता है।
पहले 10 लेख प्राप्त करें
URL: http://example.com/jsonapi/node/article?page[limit]=10
प्रतिक्रिया
JSON प्रतिक्रिया में अधिकतम 10 लेख होते हैं, जिसमें अगले लिंक शामिल होते हैं।
10 लेखों का दूसरा पृष्ठ प्राप्त करें
URL: http://example.com/jsonapi/node/article?page[limit]=10&page[offset]=10
प्रतिक्रिया
HTTP 200 प्रतिक्रिया। प्रतिक्रिया बॉडी में अधिकतम 10 लेखों का JSON:API ऑब्जेक्ट होता है, जिसमें prev, next आदि के लिंक शामिल होते हैं।
पेजिनेशन के बारे में अधिक जानकारी के लिए देखें: https://www.drupal.org/docs/8/modules/jsonapi/pagination
कई लेखों को क्रमबद्ध (sorted) रूप में प्राप्त करें
URL: http://example.com/jsonapi/node/article?sort=nid
प्रतिक्रिया
HTTP 200 प्रतिक्रिया। प्रतिक्रिया बॉडी में लेखों का JSON:API ऑब्जेक्ट होता है, जो nid द्वारा ascending क्रम में क्रमबद्ध होता है। descending क्रम में क्रमबद्ध करने के लिए &sort=-nid
का उपयोग करें।
सॉर्टिंग के बारे में अधिक जानकारी के लिए देखें: https://www.drupal.org/node/2803141
शीर्षक (title) द्वारा लेख प्राप्त करें
URL: http://example.com/jsonapi/node/article?filter[article-title][path]=title&filter[article-title][value]={{title_filter}}&filter[article-title][operator]==
प्रतिक्रिया
HTTP 200 प्रतिक्रिया। प्रतिक्रिया बॉडी में लेखों का JSON:API ऑब्जेक्ट होता है, जो 'title' फ़ील्ड मान को '{{title_filter}}' से मिलान करके फ़िल्टर किया गया है।
फ़िल्टर के बारे में अधिक जानकारी के लिए देखें: https://www.drupal.org/node/2943641
संदर्भ (references) शामिल करके article media entity reference field_image url, uri प्राप्त करें
नया सिंटैक्स
URL:
http://example.com/jsonapi/node/article/{{article_uuid}}?include=field_image&fields[file--file]=uri,url
पुराना सिंटैक्स
URL: http://example.com/jsonapi/node/article/{{article_uuid}}?include=field_image,field_image.image,field_image.image.file--file&fields[field_image]=image&fields[file--file]=uri,url
प्रतिक्रिया
HTTP 200 प्रतिक्रिया। प्रतिक्रिया बॉडी में शामिल मीडिया इमेज relationships का JSON:API ऑब्जेक्ट होता है, जो '{{article_uuid}}' वाले एकल लेख node से मेल खाता है।
लेख को पूर्ण संबंधित डेटा सेट (लेखक, टैक्सोनॉमी टर्म, आदि) के साथ प्राप्त करें
URL: http://example.com/jsonapi/node/article?fields[node--article]=uid,title,created&include=uid
प्रतिक्रिया
HTTP 200 प्रतिक्रिया। प्रतिक्रिया बॉडी में संबंधित उपयोगकर्ता (user) की जानकारी वाला user ऑब्जेक्ट शामिल होता है। यही सिंटैक्स अन्य संबंधित डेटा जैसे taxonomy term के लिए भी काम करेगा।
लेख को user reference फ़ील्ड field_user_ref_example और उसके प्रोफ़ाइल ref_example_profile (reference फ़ील्ड के अंदर reference फ़ील्ड) के साथ प्राप्त करें
URL: http://example.com/jsonapi/node/article/{{article_uuid}}?include=field_user_ref_example,field_user_ref_example.ref_example_profile
प्रतिक्रिया
HTTP 200 प्रतिक्रिया। प्रतिक्रिया बॉडी में संबंधित उपयोगकर्ता और उसकी प्रोफ़ाइल का user ऑब्जेक्ट शामिल होता है। यही सिंटैक्स अन्य संबंधित डेटा के लिए भी काम करेगा जिसमें reference फ़ील्ड शामिल हो।
लेख को चयनित संबंधित डेटा (लेखक, टैक्सोनॉमी टर्म, आदि) के साथ प्राप्त करें
URL: http://example.com/jsonapi/node/article?fields[node--article]=uid,title,created&fields[user--user]=name,mail&include=uid
प्रतिक्रिया
HTTP 200 प्रतिक्रिया। प्रतिक्रिया बॉडी में user ऑब्जेक्ट शामिल होता है जिसमें संबंधित ऑब्जेक्ट (इस मामले में लेखक का नाम और ईमेल) से निर्दिष्ट फ़ील्ड शामिल होते हैं। यही सिंटैक्स अन्य संबंधित डेटा जैसे taxonomy term के लिए भी काम करेगा।
उपयोगकर्ता खाते प्राप्त करें
URL: http://example.com/jsonapi/user/user?filter[anon][condition][path]=uid&filter[anon][condition][value]=0&filter[anon][condition][operator]=<>
प्रतिक्रिया
HTTP 200 प्रतिक्रिया। प्रतिक्रिया बॉडी में सिस्टम में उपयोगकर्ता खातों का JSON:API ऑब्जेक्ट होता है, जिसमें गुमनाम (anonymous) उपयोगकर्ता खाता शामिल नहीं होता। ध्यान दें कि यदि आप सभी उपयोगकर्ता खातों की सूची प्राप्त करना चाहते हैं, तो आपको ऊपर दी गई क्वेरी का उपयोग करना होगा, क्योंकि केवल /jsonapi/user/user
पर GET अनुरोध करने से HTTP 403 त्रुटि मिलेगी।
कॉन्फ़िग entities प्राप्त करना
चूंकि कॉन्फ़िग entities (menu, node type, tour) कंटेंट entities (nodes, users) के समान नहीं होते, इसलिए यह थोड़ा कठिन है। वर्तमान में कॉन्फ़िग entities केवल read only हैं।
आसान परीक्षण के लिए हम user-1 और basic_auth मॉड्यूल का उपयोग करते हैं।
- basic auth मॉड्यूल सक्षम करें
- मान लें कि user-1 का नाम admin और पासवर्ड admin है
निम्नलिखित कमांड का उपयोग करने से मेन्यू की सूची मिलेगी।
curl \
--header 'Accept: application/vnd.api+json' \
http://admin:admin@drupal.d8/jsonapi/menu/menu
लेख स्रोत: Drupal Documentation।