Kann jemand die Unterschiede erklären zwischen:
application/vnd.api+json
und
application/json
Der Medientyp application/vnd.api+json
bezieht sich auf die JSON-API. Sie können darüber lesen ausführlich hier .
Kurz gesagt, die JSON-API ist ein meinungsbildend und gut begründet:
… Angabe, wie ein Client anfragen soll, dass die Ressourcen .__ sind. abgerufen oder geändert, und wie ein Server darauf reagieren soll. Anfragen.
Der erste ist ein API-spezifischer Medientyp. Das Herstellerpräfix (vnd.
) gibt an, dass es für diesen Anbieter benutzerdefiniert ist. Der +json
gibt an, dass er als JSON analysiert werden kann, der Medientyp sollte jedoch weitere Semantik über JSON definieren.
Das zweite bedeutet nur, dass der Inhalt JSON ist. Dies ist jedoch im Allgemeinen nicht sehr nützlich, da es nicht definiert, was die JSON-Werte bedeuten.
Ein guter Ausgangspunkt, um darüber zu lesen, wäre auf Wikipedia , aber für weitere Details können Sie immer den Links zu den entsprechenden RFCs auf dieser Seite folgen.
Wenn Sie sich nicht sicher sind, verwenden Sie application/json
. Hierbei handelt es sich um den generischen MIME-Typ, bei dem nur die von Ihnen zurückgegebenen Daten ein wohlgeformter JSON sind.
Der application/vnd.api+json
-MIME-Typ ist für die Kommunikation mit dem (verwirrend benannten) "JSON API" Protokoll reserviert.
"JSON-API" in diesem Zusammenhang bedeutet nicht _ any API basierend auf HTTP und JSON. Es ist ein Framework zum Erstellen von APIs, mit denen der Client zusammenhängende Entitäten abrufen und ändern kann. Eine Bloganwendung könnte beispielsweise eine API implementieren, die der "JSON API" -Spezifikation entspricht und die das Abrufen der letzten zehn Artikel eines bestimmten Autors mit Metadaten und Kommentaren für jeden Artikel in einer einzigen HTTP-Anforderung ermöglicht.
Die Spezifikation definiert insbesondere:
Ein Dokument MUSS mindestens eines der folgenden Mitglieder der obersten Ebene enthalten:
data
: "Primärdaten" des Dokumentserrors
: ein Array von Fehlerobjektenmeta
: ein Metaobjekt, das nicht standardmäßige Metainformationen enthält.Die Mitglieder
data
underrors
dürfen NICHT im selben Dokument vorhanden sein.
Der MIME-Medientyp Multipurpose Internet Mail Extensions (MIME) (oder) ist eine standardisierte Methode, um die Art und das Format eines über das Internet übertragenen Dokuments anzugeben. Es ist in IETF RFC 6838 ..__ standardisiert. Die Internet Assigned Numbers Authority (IANA) ist die offizielle Stelle, die für die Überwachung aller offiziellen MIME-Typen verantwortlich ist.
Der von JSON API verwendete Medientyp ist application/vnd.api + json und wurde ordnungsgemäß bei IANA registriert.
Der API + JSON-Medientyp dient der Interoperabilität zwischen verschiedenen APIs, die JSON bedienen.
Es wurde mit Rücksicht auf "dicke JavaScript" -Kunden und deren Bedürfnisse erstellt, ist jedoch nicht spezifisch für sie. Also vorangestellt mit vnd
(Hersteller).
Hinzufügen weiterer Punkte zur JSON-API:
Wenn Sie den untenstehenden Header einrichten müssen application/vnd.hmrc.1.0 + json
Dann solltest du mitgehen
Accept: application/vnd.hmrc.1.0+json
Mit der CUrl können Sie das Skript als ausführen
$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);
Ich hoffe es hilft!!