Birisi aşağıdakiler arasındaki farkları açıklayabilir mi:
application/vnd.api+json
ve
application/json
Yanıtlar:
Medya türü application/vnd.api+json
JSON API'yi ifade eder. Bu konuda okuyabilirsiniz burada çok detaylı .
Kısacası, JSON API kararlı ve iyi gerekçelendirilmiştir:
… Bir istemcinin kaynakların alınmasını veya değiştirilmesini nasıl talep etmesi ve bir sunucunun bu isteklere nasıl yanıt vermesi gerektiğine ilişkin spesifikasyon.
vnd
geldim, şimdi @Vasif nedeniyle satıcı öneki olduğunu biliyorum. Orijinalin bir düzenlemesi harika olurdu.
Birincisi, API'ye özgü bir medya türüdür. Satıcı öneki ( vnd.
), bu satıcı için özel olduğunu belirtir. +json
JSON olarak ayrıştırılır, ancak ortam türü gösterir gerekir JSON üstünde başka anlambilim tanımlar.
İkincisi, içeriğin JSON olduğu anlamına gelir. JSON değerlerinin ne anlama geldiğini tanımlamadığından, bu genel olarak pek kullanışlı değildir.
Bunu okumak için iyi bir başlangıç noktası Wikipedia'da olabilir , ancak daha fazla ayrıntı için o sayfadaki ilgili RFC'lerin bağlantılarını her zaman takip edebilirsiniz .
Emin değilseniz kullanın application/json
- yalnızca döndürdüğünüz verilerin iyi biçimlendirilmiş bir JSON olmasını gerektiren genel MIME türüdür .
application/vnd.api+json
MIME türü (karışıklığa adlandırılır) kullanarak iletişimi için ayrılmıştır "JSON API" protokolü.
Bu bağlamda "JSON API" yok değil demek herhangi HTTP ve JSON dayalı API. Tam olarak belirlenmiş bir API de değildir - daha ziyade , istemcinin birbiriyle ilişkili varlıkları getirmesine ve değiştirmesine izin veren API'ler oluşturmak için bir çerçevedir . Örneğin, bir blog uygulaması, tek bir HTTP isteğinde her makale için meta veriler ve yorumlarla birlikte belirli bir yazar tarafından son 10 makalenin alınmasına izin veren "JSON API" spesifikasyonuna uygun bir API uygulayabilir.
Spesifikasyon özellikle şunları tanımlar:
Bir belge aşağıdaki üst düzey üyelerden en az birini İÇERMELİDİR:
data
: belgenin "birincil verileri"errors
: bir dizi hata nesnesimeta
: standart olmayan meta bilgiler içeren bir meta nesne.Üyeler
data
veerrors
aynı belgede bir arada OLMAMALIDIR.
Çok Amaçlı Internet Posta Uzantıları (MIME) tipi (veya) ortam türü internet üzerinden aktarılan bir belge niteliği ve biçimini belirtmek için standartlaştırılmış bir yoludur. IETF RFC 6838'de standartlaştırılmıştır . Internet Assigned Numbers Authority (IANA) tüm resmi MIME türleri takip sorumlu resmi organıdır.
Tarafından kullanılan ortam türü JSON API olan uygulama / vnd.api + json ve düzgün IANA'da ile tescil edilmiştir.
API + JSON medya türü, JSON'a hizmet eden farklı API'ler arasında birlikte çalışabilirlik içindir.
"Yoğun JavaScript" istemcileri ve onların ihtiyaçları dikkate alınarak oluşturulmuştur, ancak onlara özgü değildir. Yani, vnd
(satıcı) ile başlar.
JSON API'ye birkaç nokta daha eklemek:
Aşağıdaki başlık uygulamasını kurmanız gerekirse / vnd.hmrc.1.0 + json
O zaman gitmelisin
Accept: application/vnd.hmrc.1.0+json
CUrl kullanarak komut dosyasını şu şekilde çalıştırabilirsiniz:
$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);
Umarım yardımcı olur!!