Estoy intentando crear una API simple en Flask, el primer paso es obtener los datos POST json. (Solo quiero imprimirlo por ahora) Este es mi código y cuando solicito/api con datos json, devuelve un error de 500. ¿Alguna idea de por qué esto está sucediendo?La solicitud Flask POST provoca un bloqueo del servidor
from flask import Flask, request, Response
app = Flask(__name__)
@app.route('/')
def root_response():
return "Hello World."
@app.route('/api', methods=['POST', 'GET'])
def api_response():
if request.method == 'POST':
return request.json
if __name__ == '__main__':
app.run()
El comando curl:
$ curl -H "Content-Type: application/json" --data @body.json http://127.0.0.1:5000/api
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<title>500 Internal Server Error</title>
<h1>Internal Server Error</h1>
<p>The server encountered an internal error and was unable to complete your request. Either the server is overloaded or there is an error in the application.</p>
body.json:
{
"please": "print",
"me": "now"
}
Ese modo de depuración me ahorró mucho tiempo: D –
Son las otras configuraciones para la depuración, porque me parece que a pesar de tener la depuración establecida en True, no recibo los mensajes de error en la pantalla. – disruptive
De hecho, me di cuenta de que todos los mensajes de error se enviaban a la terminal donde estaba ejecutando mi servidor. Sin embargo, el modo de depuración resultó útil para otras pruebas (e imprime justo donde ejecuta su comando curl) – alisa