हैडर मूल्य: आवेदन / vnd.api + json


101

क्या कोई इसके बीच अंतर बता सकता है:

application/vnd.api+json

तथा

application/json

जवाबों:


94

मीडिया प्रकार application/vnd.api+jsonJSON API को संदर्भित करता है। आप इसके बारे में यहां विस्तार से पढ़ सकते हैं ।

संक्षेप में, JSON एपीआई एक सुविचारित और सुविचारित है:

... कैसे ग्राहक अनुरोध कर सकता है कि संसाधनों को लाने या संशोधित करने के लिए विनिर्देश, और कैसे सर्वर को उन अनुरोधों का जवाब देना चाहिए।


30
वेंडर प्रीफिक्स (`vnd। ') के बारे में यह वाक्य @rmhartog के उत्तर से इस उत्तर में शामिल किया जाए तो बहुत अच्छा होगा।
वासिफ

मैं यहां विशेष रूप से इसलिए हूं क्योंकि मैं एक स्पष्टीकरण की तलाश में था vnd, जिसे मैं अब @Vasif के कारण विक्रेता उपसर्ग के रूप में जानता हूं। मूल का संपादन शानदार होगा।
कामुला फ्रेंको

69

पहला एक एपीआई विशिष्ट मीडिया प्रकार है। विक्रेता उपसर्ग ( vnd.) इंगित करता है कि यह इस विक्रेता के लिए कस्टम है। +jsonइंगित करता है कि यह JSON के रूप में पार्स किया जा सकता है, लेकिन मीडिया प्रकार चाहिए JSON के शीर्ष पर आगे अर्थ विज्ञान परिभाषित करते हैं।

दूसरे का अर्थ है कि सामग्री JSON है। यह सामान्य रूप से बहुत उपयोगी नहीं है, हालांकि, क्योंकि यह परिभाषित नहीं करता है कि JSON मूल्यों का क्या मतलब है।

इस बारे में पढ़ने के लिए एक अच्छा प्रारंभिक बिंदु विकिपीडिया पर होगा , लेकिन अधिक जानकारी के लिए आप उस पृष्ठ पर संबंधित RFC के लिंक का अनुसरण कर सकते हैं ।


33

यदि आप सुनिश्चित नहीं हैं, तो उपयोग करें application/json- यह सामान्य MIME प्रकार है जिसमें केवल उस डेटा की आवश्यकता होती है जिसे आप एक अच्छी तरह से गठित JSON मानते हैं


application/vnd.api+jsonMIME प्रकार (भ्रमित करने वाले नाम) का उपयोग करते हुए संचार के लिए आरक्षित है "JSON एपीआई" प्रोटोकॉल।

इस संदर्भ में "JSON API" का अर्थ HTTP और JSON पर आधारित कोई भी API नहीं है । यह पूरी तरह से निर्दिष्ट एपीआई नहीं है - बल्कि यह एपीआई के निर्माण के लिए एक रूपरेखा है जो क्लाइंट को अंतरसंबंधित संस्थाओं को लाने और संशोधित करने की अनुमति देता है। उदाहरण के लिए, एक ब्लॉग एप्लिकेशन "JSON एपीआई" विनिर्देश के अनुरूप एक एपीआई को लागू कर सकता है, जो किसी दिए गए लेखक द्वारा पिछले 10 लेखों को लाने की अनुमति देता है, प्रत्येक आलेख के लिए मेटाडाटा और टिप्पणियों के साथ एक ही HTTP अनुरोध में।

विनिर्देशन परिभाषित करता है, विशेष रूप से:

  • विशिष्ट तरीके से एक अनुरोध का गठन किया जाना चाहिए (यानी URL पैरामीटर क्या सॉर्टिंग और पेजिनेशन और आउटपुट में शामिल डेटा को नियंत्रित करते हैं);
  • प्रतिक्रिया में JSON दस्तावेज़ की विशिष्ट संरचना, उदाहरण के लिए:

    दस्तावेज़ में निम्न शीर्ष-स्तरीय सदस्यों में से कम से कम एक होना चाहिए:

    • data: दस्तावेज़ का "प्राथमिक डेटा"
    • errors: त्रुटि वस्तुओं की एक सरणी
    • meta: एक मेटा ऑब्जेक्ट जिसमें गैर-मानक मेटा-जानकारी होती है।

    सदस्यों dataऔर errorsएक ही दस्तावेज़ में सह-अस्तित्व नहीं होना चाहिए।


8

मल्टीपर्पस इंटरनेट मेल एक्सटेंशन्स (MIME) प्रकार (या) मीडिया प्रकार प्रकृति और इंटरनेट पर स्थानांतरित एक दस्तावेज़ के प्रारूप इंगित करने के लिए एक मानकीकृत तरीका है। यह IETF RFC 6838 में मानकीकृत है । इंटरनेट निरुपित नंबर प्राधिकरण (IANA) आधिकारिक इकाई के सभी सरकारी MIME प्रकार का ट्रैक रखने के लिए जिम्मेदार है।

मीडिया द्वारा इस्तेमाल प्रकार JSON एपीआई है आवेदन / vnd.api + json और इसे ठीक से IANA के साथ पंजीकृत किया गया है।

API + JSON मीडिया प्रकार विभिन्न API के बीच अंतर के लिए है जो JSON की सेवा करता है।

यह "मोटी जावास्क्रिप्ट" ग्राहकों और उनकी जरूरतों से विचार के साथ बनाया गया था, लेकिन उनके लिए विशिष्ट नहीं है। तो, vnd(विक्रेता) के साथ उपसर्ग ।

JSON API पर कुछ और बिंदुओं को जोड़ना:

  • JSON एपीआई एक विनिर्देश है जो एक अनुरोध और प्रतिक्रिया कैसे करता है और क्या होना चाहिए, इस पर एक एपीआई विनिर्देश को परिभाषित करता है।
  • हमें एक अच्छी तरह से परिभाषित संरचना बनाने की अनुमति देता है (जैसे संसाधन - रिश्ते और यह लिंक आदि)।
  • निर्दिष्ट करता है कि REST API को CRUD संचालन के लिए कैसे प्रतिक्रिया करनी चाहिए ।
  • क्लाइंट को प्रतिक्रियाओं को कैश करने की अनुमति देता है।

-1

यदि आपको नीचे हेडर एप्लिकेशन / vnd.hmrc.1.0 + json सेटअप करने की आवश्यकता है

तब आपको साथ जाना चाहिए

Accept: application/vnd.hmrc.1.0+json

CUrl का उपयोग करके आप स्क्रिप्ट को इस रूप में चला सकते हैं

$url="https://test-api.service.hmrc.gov.uk/hello/world";
$ch = curl_init();
$curlConfig = array(
    CURLOPT_URL            => $url,
    CURLOPT_HTTPHEADER     => array('Accept: application/vnd.hmrc.1.0+json') 
);

curl_setopt_array($ch, $curlConfig);
$result = curl_exec($ch);
curl_close($ch);

आशा करता हूँ की ये काम करेगा!!


2
यह सवाल से संबंधित नहीं है।
ईसाई
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.