Was sind die Best Practices zum Hinzufügen von Metadaten zu einer RESTful-JSON-Antwort?Java

Java-Forum
Guest
 Was sind die Best Practices zum Hinzufügen von Metadaten zu einer RESTful-JSON-Antwort?

Post by Guest »

Hintergrund

Wir erstellen eine Restful API, die Datenobjekte als JSON zurückgeben soll. In den meisten Fällen ist es in Ordnung, nur das Datenobjekt zurückzugeben, aber in einigen Fällen, z. B. Paginierung oder Validierung müssen wir der Antwort einige Metadaten hinzufügen.

Was wir bisher haben
Wir haben alle JSON-Antworten wie in diesem Beispiel verpackt:

Code: Select all

{
"metadata" :{
"status": 200|500,
"msg": "Some message here",
"next": "http://api.domain.com/users/10/20"
...
},
"data" :{
"id": 1001,
"name": "Bob"
}
}
Vorteile
  • Wir können hilfreiche Metadaten hinzufügen zur Antwort
Kontras
  • In den meisten Fällen benötigen wir das Metadatenfeld nicht und es erhöht die Komplexität des JSON-Formats
  • Seitdem Es ist kein Datenobjekt mehr, sondern eher eine umhüllte Antwort. Wir können die Antwort nicht sofort in z. B. backbone.js verwenden, ohne das Datenobjekt zu extrahieren.
Frage

Was sind die Best Practices zum Hinzufügen von Metadaten zu einer JSON-Antwort?
UPDATE

Was ich bisher aus den Antworten unten erhalten habe:
  • Entfernen Sie den metadata.status und geben Sie ihn zurück HTTP-Antwortcode stattdessen im
    http-Protokoll (200, 500 ...)
  • Fügen Sie eine Fehlernachricht zum Textkörper einer http 500-Antwort hinzu
    < li>Für die Paginierung benötige ich natürlich einige Metadaten, die Auskunft über das geben Paginierungsstruktur und die in dieser Struktur verschachtelten Daten
  • Kleine Mengen an Metadaten können dem HTTP-Header hinzugefügt werden (X-etwas)

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post