/ / Wie man einen Antwortkörper nicht sendet - php, Restler

Wie man einen Antwortkörper nicht sendet - php, Restler

Ich versuche, eine Headerantwort von unserer API mit einem HTTP-Statuscode 201 Created und einem Location: header zu senden.

Egal, was ich mache, ich bekomme auch einen Antwortkörper, etwas, das ich nicht will.

Wenn ich eine leere Zeichenfolge zurückgeben (return "";), Restlerwird die Zeichenfolge "" "" in den Antworttext einfügen. Wenn ich null zurückgebe oder überhaupt nichts zurückgebe, wird der Restler die Zeichenfolge "null" in den Antworttext eingeben.

Wie sage ich Restler? nicht nichts als Header senden?

Antworten:

1 für die Antwort № 1

UPDATE: -

Mit der neuesten Version von Restler 3 RC4. Das Zurückgeben von null sendet einen leeren Körper für die Antwort

Dieses Verhalten kann durch Einstellung geändert werden

Defaults::$emptyBodyForNullResponse = false;

Sie können verwenden @status Kommentar, um den Antwortcode auf 201 zu setzen

und @header-Kommentar zum Festlegen der Positionskopfzeile

Für ältere Versionen verwenden Sie die unten beschriebene Technik


Setzen Sie von Ihrer API-Methode sowohl den Status als auch den Standort-Header mit der Header-Funktion gefolgt von Würfel oder Beenden

header("HTTP/1.0 201 Created");
header("Location: http://api.example.com/item/45");
die();

Dies ist ein sehr gültiger Anwendungsfall, der eine bessere Vorgehensweise erfordert. Wir werden diese Antwort bald mit diesen Lösungen aktualisieren

Danke, dass du zu Restler beigetragen hast :)