Estamos usando Flask para una de nuestras API y me preguntaba si alguien sabía cómo devolver una respuesta HTTP 201.
Para errores como 404 podemos llamar:
from flask import abort
abort(404)
Pero por 201 me sale
LookupError: no hay excepción para 201
¿Necesito crear mi propia excepción como esta en los documentos?
python
flask
httpresponse
ingh.am
fuente
fuente
return '', 201
Respuestas:
Puedes leer sobre esto aquí.
fuente
page.html
... No funcionará por sí solo.Puede usar Response para devolver cualquier código de estado http.
fuente
Como falta sugiere enviar el código de estado en la declaración de devolución y si lo está almacenando en alguna variable como
y usando
que el tiempo asegúrese de que su tipo es int no str. Como me enfrenté a este pequeño problema, también aquí hay una lista de códigos de estado seguidos globalmente http://www.w3.org/Protocols/HTTP/HTRESP.html
Espero eso ayude.
fuente
Tu puedes hacer
si desea devolver datos JSON en la respuesta junto con el código de error Puede leer sobre las respuestas aquí y aquí para obtener detalles de la API make_response
fuente
En su código de matraz, idealmente debe especificar el tipo MIME con la mayor frecuencia posible, también:
... etc.
fuente
también puedes usar flask_api para enviar respuestas
Puede encontrar la referencia aquí http://www.flaskapi.org/api-guide/status-codes/
fuente
Dependiendo de cómo se cree la API, normalmente con un 201 (creado) devolvería el recurso que se creó. Por ejemplo, si estaba creando una cuenta de usuario, haría algo como:
Tenga en cuenta que el número pospuesto es el código de estado devuelto.
Alternativamente, es posible que desee enviar un mensaje al cliente como:
fuente
En mi caso tuve que combinar lo anterior para que funcione
fuente
Entonces, si está usando
flask_restful
Package for API's return 201 sería comodonde
data
debería haber cualquier valor hashable / JsonSerialiable, como dict, string.fuente