es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Error al decodificar el objeto JSON en FLASK 2.0.2 con request.json y Postman.

Estoy usando Postman para hacer una solicitud POST a mi API en FLASK 2.0.2.

Los datos de Postman:
Cuerpo
Encabezados

El código que estoy intentando escribir es:

app = Flask(nombre.split('.')[0])
app.config.from_object(DevelopmentConfig)
app.wsgi_app = GlobalAuth(app.wsgi_app)
configure_logging(app)

api = Api(app)

class Test(Resource):
    @staticmethod
    def post():
        request.on_json_loading_failed(e="a")
        data = request.json
        return make_response(data, 200)

api.add_resource(Test, '/test')

En el middleware (GlobalAuth):

class GlobalAuth:
    pass
    '''
    Simple WSGI middleware
    '''

    def __init__(self, app):
        self.app = app

    def __call__(self, environ, start_response):
        request = Request(environ)
        args = request.args
        body_args = request.json

El request.json está funcionando, pero en el punto final está generando un error Failed to decode JSON object: error. Si agrego lo siguiente en el código antes del request.json: request.on_json_loading_failed(e="error").

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Parece que estás tratando de hacer una solicitud POST a tu API en Flask 2.0.2 usando Postman. Has proporcionado los datos de Postman, incluyendo el cuerpo y las cabeceras, así como el código que estás intentando usar. Mencionaste que request.json funciona, pero estás recibiendo un error cuando agregas request.on_json_loading_failed(e="error") antes de request.json. Es posible que el error esté relacionado con los datos que estás enviando en el cuerpo de la solicitud. Puede ser conveniente revisar los datos que estás enviando para asegurarte de que sean JSON válidos.

Comments are closed.