Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

1K
Vistas
Cómo usar Marshmallow Schema en Flask-restx Swagger UI automáticamente

Estoy tratando de crear servicios web tranquilos con matraz-restx y malvavisco.

Estoy usando malvavisco para las validaciones de solicitud y respuesta.

Dado que la documentación de la API de Flas-restx no es compatible con los esquemas de malvavisco en la interfaz de usuario de Swagger, quiero agregarla mediante el decorador de documentos.

Código del controlador:

 @ns.route('/') class Test(Resource): @ns.doc(params={'test': 'test'}) def get(self): _input_schema = MySchema() errors = _input_schema.validate(request.args) if errors: return Response(str(errors), status=400) other_things()

Código de esquema:

 class MySchema(Schema): title = fields.Str() id = fields.Integer() slug = fields.Str()

Estoy tratando de agregar automáticamente parámetros del esquema a documentos api como ese

 @ns.doc(params=MySchema.ReturnAFieldDict())

Y dará algo así

 @ns.doc(params={"title":"A string", "id": "Int value with min and max", "slug":"A str"})

¿Hay alguna forma de hacer eso?

over 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

Una forma que encontré para obtener documentación es usar el decorador @api.expect(schema).

over 4 years ago · Santiago Trujillo Denunciar

0

Puede usar api.marshal_with para documentar las respuestas

 from flask_restx.fields import Integer, String test_get = api.model( "TestGet", { "name": String(required=True), "age": Integer(required=True), }, ) @api.marshal_with(schema.test_get, code=200) def get(self): return {"name": "test", "age": 123}

marshal_with asigna el diccionario u objeto devuelto y asigna el campo según el esquema. Aquí, en este caso, el diccionario devuelto se asignará al esquema test_get donde el nombre será "prueba" y la edad será 123.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda