Welche HTTP-Header sollte ich für die Angabe stilistischen Eigenschaften einer HTTP-Antwort verwenden, speziell den Fall der Schlüssel in einem JSON-Objekt? Ein Hinweis: Ich entwickle eine REST-API, bei der Kunden einen erwarteten Fall angeben sollen, z. B. camelCase
oder snake_case
.HTTP-Header für die Anzeige erforderlichen stilistische Eigenschaft für den Antworttext
Wenn camelCase
spezifiziert eine Antwort aussehen würde:
{
"peopleUrl": "…",
"postsUrl": "…"
}
Wenn snake_case
spezifiziert eine Antwort aussehen würde:
{
"people_url": "…",
"posts_url": "…"
}
Die Header Ich habe an sind Expect
suchen und Prefer
. Expect
wird beschrieben als Pflicht Konfigurationen ein Server mit oder Fehler entsprechen müssen, und Prefer
als optionale Konfigurationen beschrieben. Die spezifische Syntax betrachtete ich ist:
Expect: case=camel
oder:
Prefer: case=camel
Derzeit fühle ich mich wie Expect
ist die beste, weil es die Konfiguration erfordert. Während jedoch in RFC 2616 ein Erweiterungsmechanismus für Expect
vorgesehen ist, jedoch in RFC 7231 diese Erweiterung Mechanismus wurde entfernt, und nur das 100-continue
Feld (auf der nächsten Seite blättern die Notiz die Options- zu sehen) erlaubt. Der Prefer
Header wurde in RFC 7240 angegeben und hat erscheinen einen Erweiterungsmechanismus zu haben.
Welche Header ist am besten für diese Konfigurationsoption? Sehe ich mit Expect
und Prefer
in die falsche Richtung?
_ "Ich möchte, dass Kunden einen erwarteten Fall liefern" _ - ** warum? ** Dokumentieren Sie nur ein Gehäuse und lassen Sie Ihre Kunden dabei bleiben ...Wie Sie in RFC 7240 lesen können, müssen Sie 'Prefer' Erweiterungen mit IANA registrieren. – CodeCaster
Wenn Sie eine API haben, die Daten an mehrere verschiedene Plattformen liefern muss, ist es hilfreich, dass sie das gewünschte Format auswählen können. Ein JS-Client möchte möglicherweise 'camelCase', während ein PHP-Client' snake_case' möchte. Auch wenn dies eine schlechte Idee ist, ist das Finden eines geeigneten Headers immer noch eine gültige Frage. – Calebmer
Sie sind der Dienstleister, Sie bestimmen das Format. Ich sage nicht, dass es eine ungültige Frage ist, nur eine dumme Frage. Vergiss nicht den Overhead, der auf deiner Seite verursacht wird. Jedenfalls gibt es keine vorhandene Kopfzeile, die Sie dafür nutzen können. – CodeCaster