Nous utilisons Flask pour l'une de nos API et je me demandais simplement si quelqu'un savait comment renvoyer une réponse HTTP 201?
Pour les erreurs telles que 404, nous pouvons appeler:
from flask import abort
abort(404)
Mais pour 201 je reçois
LookupError: pas d'exception pour 201
Dois-je créer ma propre exception comme celle-ci dans la documentation?
python
flask
httpresponse
ingh.am
la source
la source
return '', 201
Réponses:
Vous pouvez en savoir plus ici.
la source
page.html
... Cela ne fonctionnera pas tout seul.Vous pouvez utiliser Response pour renvoyer n'importe quel code d'état http.
la source
Comme il manque le code d'état d'envoi suggéré dans l'instruction de retour et si vous le stockez dans une variable comme
et en utilisant
que le temps, assurez-vous que son type est int et non str. comme j'ai fait face à ce petit problème, voici également la liste des codes d'état suivis globalement http://www.w3.org/Protocols/HTTP/HTRESP.html
J'espère que ça aide.
la source
Tu peux faire
si vous souhaitez renvoyer une donnée JSON dans la réponse avec le code d'erreur Vous pouvez lire les réponses ici et ici pour plus de détails sur l'API make_response
la source
Dans votre code flask, vous devez idéalement spécifier le type MIME aussi souvent que possible:
...etc
la source
vous pouvez également utiliser flask_api pour envoyer une réponse
vous pouvez trouver la référence ici http://www.flaskapi.org/api-guide/status-codes/
la source
En fonction de la façon dont l'API est créée, normalement avec un 201 (créé), vous renverrez la ressource qui a été créée. Par exemple, s'il créait un compte utilisateur, vous feriez quelque chose comme:
Notez que le numéro postfixé est le code d'état renvoyé.
Vous pouvez également envoyer un message au client tel que:
la source
Dans mon cas, j'ai dû combiner ce qui précède pour que cela fonctionne
la source
Donc, si vous utilisez
flask_restful
Package pour l'API, le retour 201 deviendrait commeoù
data
devrait être n'importe quelle valeur hachable / JsonSerialiable, comme dict, string.la source