ค่าส่วนหัว: application / vnd.api + json


คำตอบ:


95

ประเภทสื่อapplication/vnd.api+jsonอ้างอิงถึง JSON API คุณสามารถอ่านเกี่ยวกับเรื่องนี้ในรายละเอียดมากที่นี่

กล่าวโดยย่อ JSON API มีความเห็นและเหตุผลที่ดี:

…ข้อกำหนดสำหรับวิธีที่ไคลเอ็นต์ควรร้องขอให้ดึงหรือแก้ไขทรัพยากรและเซิร์ฟเวอร์ควรตอบสนองต่อคำขอเหล่านั้นอย่างไร


30
จะดีมากถ้ามีประโยคเกี่ยวกับคำนำหน้าผู้ขาย (`` vnd. ") รวมอยู่ในคำตอบนี้จากคำตอบของ @rmhartog
Vasif

ฉันมาที่นี่โดยเฉพาะเพราะฉันกำลังมองหาคำอธิบายvndซึ่งตอนนี้ฉันรู้แล้วว่าเป็นคำนำหน้าผู้ขายเนื่องจาก @Vasif การแก้ไขต้นฉบับจะยอดเยี่ยม
Kamuela Franco

69

ประเภทแรกคือประเภทสื่อเฉพาะ API คำนำหน้าผู้ขาย ( vnd.) ระบุว่าเป็นแบบกำหนดเองสำหรับผู้ขายรายนี้ +jsonแสดงให้เห็นว่ามันสามารถแยกวิเคราะห์เป็น JSON แต่ประเภทของสื่อที่ควรกำหนดความหมายต่อไปที่ด้านบนของ JSON

ประการที่สองหมายความว่าเนื้อหาเป็น JSON โดยทั่วไปแล้วสิ่งนี้ไม่มีประโยชน์มากนักเนื่องจากไม่ได้กำหนดความหมายของค่า JSON

จุดเริ่มต้นที่ดีในการอ่านเกี่ยวกับเรื่องนี้คือในWikipediaแต่สำหรับรายละเอียดเพิ่มเติมคุณสามารถติดตามลิงก์ไปยัง RFC ที่เกี่ยวข้องในหน้านั้นได้เสมอ


33

หากคุณไม่แน่ใจให้ใช้application/json- เป็นประเภท MIME ทั่วไปที่ต้องการให้ข้อมูลที่คุณส่งคืนเป็นJSON ที่มีรูปแบบสมบูรณ์เท่านั้น


application/vnd.api+jsonชนิดไมม์ถูกสงวนไว้สำหรับการสื่อสารโดยใช้ (ชื่อพลุกพล่าน) "JSON API"โปรโตคอล

"JSON API" ในบริบทนี้ไม่ได้หมายถึงAPI ใด ๆ ที่ใช้ HTTP และ JSON ไม่ใช่ API ที่ระบุอย่างสมบูรณ์เช่นกัน แต่เป็นเฟรมเวิร์กสำหรับการสร้าง API ที่อนุญาตให้ไคลเอ็นต์ดึงข้อมูลและแก้ไขเอนทิตีที่เกี่ยวข้องกัน ตัวอย่างเช่นแอปพลิเคชันบล็อกสามารถใช้ API ที่เป็นไปตามข้อกำหนด "JSON API" ซึ่งช่วยให้ดึงข้อมูลบทความ 10 บทความล่าสุดโดยผู้เขียนที่ระบุพร้อมข้อมูลเมตาและความคิดเห็นสำหรับแต่ละบทความในคำขอ HTTP รายการเดียว

ข้อกำหนดกำหนดโดยเฉพาะ:

  • วิธีที่เจาะจงในการร้องขอควรถูกสร้างขึ้น (เช่นพารามิเตอร์ URL ใดที่ควบคุมการเรียงลำดับและการแบ่งหน้าและข้อมูลที่รวมอยู่ในเอาต์พุต)
  • โครงสร้างเฉพาะของเอกสาร JSON ในการตอบกลับตัวอย่างเช่น:

    เอกสารต้องมีสมาชิกระดับบนสุดอย่างน้อยหนึ่งคนต่อไปนี้:

    • data: "ข้อมูลหลัก" ของเอกสาร
    • errors: อาร์เรย์ของวัตถุข้อผิดพลาด
    • meta: วัตถุเมตาที่มีข้อมูลเมตาที่ไม่ได้มาตรฐาน

    สมาชิกdataและerrorsต้องไม่อยู่ร่วมกันในเอกสารเดียวกัน


8

Multipurpose Internet Mail Extensions (MIME) ประเภท (หรือ) ชนิดของสื่อที่เป็นวิธีมาตรฐานในการบ่งชี้ถึงลักษณะและรูปแบบของเอกสารโอนผ่านทางอินเทอร์เน็ต มันเป็นมาตรฐานในIETF RFC 6838 อินเทอร์เน็ตที่ได้กำหนดหมายเลข Authority (IANA)เป็นตัวอย่างเป็นทางการผู้รับผิดชอบในการติดตามการรักษาทุกประเภท MIME อย่างเป็นทางการ

ประเภทสื่อที่ใช้โดยJSON APIคือapplication / vnd.api + jsonและได้รับการลงทะเบียนอย่างถูกต้องกับ IANA

ประเภทสื่อ API + JSON ใช้สำหรับการทำงานร่วมกันระหว่าง API ต่างๆที่ให้บริการ JSON

มันถูกสร้างขึ้นโดยพิจารณาจากไคลเอนต์ "JavaScript หนา" และความต้องการของพวกเขา แต่ไม่ได้เจาะจงสำหรับพวกเขา ดังนั้นคำนำหน้าด้วยvnd(ผู้ขาย)

การเพิ่มคะแนนอีกสองสามข้อใน JSON API:

  • JSON API เป็นข้อกำหนดที่กำหนดข้อกำหนด api เกี่ยวกับการร้องขอและการตอบสนองและควรเป็นอย่างไร
  • ช่วยให้เราสร้างมีโครงสร้างที่กำหนดไว้อย่างดี (เช่นทรัพยากร - ความสัมพันธ์และลิงก์เป็นต้น)
  • ระบุว่า REST API ควรตอบสนองอย่างไรสำหรับการดำเนินการCRUD
  • อนุญาตให้ไคลเอ็นต์แคชการตอบสนอง

-2

หากคุณต้องการตั้งค่าแอปพลิเคชันส่วนหัวด้านล่าง / 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
สิ่งนี้ไม่เกี่ยวข้องกับคำถามเลย
Christian
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.