Wir verwenden Flask für eine unserer APIs und ich habe mich nur gefragt, ob jemand weiß, wie man eine HTTP-Antwort 201 zurückgibt.
Für Fehler wie 404 können wir anrufen:
from flask import abort
abort(404)
Aber für 201 bekomme ich
LookupError: Keine Ausnahme für 201
Muss ich meine eigene Ausnahme wie diese in den Dokumenten erstellen ?
python
flask
httpresponse
ingh.am
quelle
quelle
return '', 201
Antworten:
Sie können hier darüber lesen .
quelle
page.html
... Es wird nicht von selbst funktionieren.Sie können Response verwenden, um einen beliebigen http-Statuscode zurückzugeben.
quelle
Da fehlt vorgeschlagen, senden Sie den Statuscode in der return-Anweisung und wenn Sie ihn in einer Variablen wie speichern
und mit
als Zeit stellen Sie sicher, dass sein Typ int nicht str ist. Da ich mit diesem kleinen Problem konfrontiert war, finden Sie auch hier eine Liste der Statuscodes, die weltweit befolgt werden: http://www.w3.org/Protocols/HTTP/HTRESP.html
Ich hoffe es hilft.
quelle
Du kannst tun
Wenn Sie JSON-Daten in der Antwort zusammen mit dem Fehlercode zurückgeben möchten, finden Sie hier und hier Informationen zu den Antworten für die API-API make_response
quelle
Idealerweise sollten Sie in Ihrem Kolbencode auch den MIME-Typ so oft wie möglich angeben:
...etc
quelle
Sie können auch flask_api zum Senden einer Antwort verwenden
Eine Referenz finden Sie hier http://www.flaskapi.org/api-guide/status-codes/
quelle
Abhängig davon, wie die API erstellt wird, geben Sie normalerweise mit einem 201 (erstellt) die erstellte Ressource zurück. Wenn Sie beispielsweise ein Benutzerkonto erstellen, gehen Sie wie folgt vor:
Beachten Sie, dass die postfixierte Nummer der zurückgegebene Statuscode ist.
Alternativ möchten Sie möglicherweise eine Nachricht an den Client senden, z.
quelle
In meinem Fall musste ich das oben Genannte kombinieren, damit es funktioniert
quelle
Wenn Sie also
flask_restful
Package for API verwenden, wird 201 zurückgegebenWo
data
sollte ein Hashable / JsonSerialiable-Wert sein, wie dict, string.quelle