Api-blueprint: Antwort ohne Text, Beschreibung?

Erstellt am 7. Feb. 2017  ·  7Kommentare  ·  Quelle: apiaryio/api-blueprint

Ich versuche, eine Beschreibung für eine Antwort festzulegen, die keinen Text sendet:

Funktioniert nicht:

+ Response 200 (application/vnd.api+json)

    Received on successful update or insert.

Das funktioniert aber:

+ Response 400 (application/vnd.api+json) 

    Received on malformed JSON in the request.

    + Attributes
        - errors (array[Malformed JSON])

Hilfreichster Kommentar

+ Response 200 (application/vnd.api+json)

    Received on successful update or insert.

    + Body

Fügen Sie einen leeren Körper hinzu.

Alle 7 Kommentare

+ Response 200 (application/vnd.api+json)

    Received on successful update or insert.

    + Body

Fügen Sie einen leeren Körper hinzu.

@YamiOdymel Danke Sir!

Wäre toll, solche Hacks aber IMO vermeiden zu können.

Streng genommen ist ein leerer Body kein gültiger JSON . Ich verwende stattdessen {} , aber vielleicht bevorzugen Sie null .

@franklinyu Eine leere Zeichenfolge ist in der Tat kein gültiger JSON . Genau genommen ist null kein gültiges JSON. Gültiges JSON muss entweder eine Schlüssel/Wert-Sammlung haben (auch eine leere, zB {} ) oder eine Liste (kann auch eine leere sein, zB [] ).

In der Ausgabe sprechen wir jedoch über die JSON-API , die leere Körper zulässt. Die JSON API verwendet JSON für nicht leere Körper, aber es ist KEIN JSON. Sein Anwendungsbereich ist breiter als nur das Datenserialisierungsformat.

UPDATE: Irgendwie sind Informationen zu json.org etwas irreführend, null ist laut ECMA- Spezifikationen ein absolut gültiges JSON. Jeder Wert (Objekt, Array, Zeichenfolge, Zahl, wahr, falsch, null) ist also ein gültiger JSON-Bürger der obersten Ebene.

@ixti Ich habe von der JSON-API gehört, bin damit aber nicht vertraut; Ich habe die Spezifikation durchgeblättert, aber keine Schlüsselwörter wie "leerer Körper" gefunden.

@franklinyu Schauen Sie sich die Beschreibung der Antworten an:

Mehr als das. Sie sollten auch gemäß den HTTP-Spezifikationen KEINEN Text mit 204-Antwort senden.

In diesem Fall ziehe ich es vor, für leeren Körper überhaupt keinen Inhaltstyp anzugeben. Clients sollten nicht vom Inhaltstyp in der Antwort "204 Kein Inhalt" abhängig sein. ich glaube ich schweife vom thema ab...

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen

Verwandte Themen

Perni1984 picture Perni1984  ·  6Kommentare

bazo picture bazo  ·  8Kommentare

mootpointer picture mootpointer  ·  4Kommentare

robbinjanssen picture robbinjanssen  ·  6Kommentare

rodriguise picture rodriguise  ·  11Kommentare