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.

La validación de datos de campo en flask-marshmallow no funciona.

Hola, he hecho mi DTO de la siguiente manera:

class MyRequestDto(ma.Schema):
    @pre_load
    def wrap_data(self, in_data, **kwargs):
        return {"rooms": in_data}


    rooms = ma.Dict(ma.String, ma.Dict(ma.Integer, ma.String))

Y quiero enviar una solicitud como esta:

{   
    "1faf8f07-2977-180e-7bc2-b5adf8badasda": {"student_id":11210687,"room_id":"100"}
}

Pero estoy recibiendo un error como este:

{
    "rooms": {
        "1faf8f07-2977-180e-7bc2-b5adf8badasda": {
            "value": {
                "student_id": {
                    "key": [
                        "Not a valid integer."
                    ]
                },
                "room_id": {
                    "key": [
                        "Not a valid integer."
                    ]
                }
            }
        }
    }
}

¿Qué puedo hacer para pasar los datos correctamente en el formato requerido?

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    El mensaje de error indica que los valores de “student_id” y “room_id” deben ser enteros, pero se recibieron valores no enteros. Para pasar los datos correctamente en el formato requerido, debes asegurarte de que los valores tanto para “student_id” como para “room_id” sean enteros válidos en la carga de la solicitud. Si los datos de carga útil no vienen en el formato esperado, también puedes modificar el método pre_load en tu DTO para manejar los datos entrantes de una manera que satisfaga el formato deseado.

Comments are closed.