Маршалинг ответа Flask restxPython

Программы на Python
Ответить
Anonymous
 Маршалинг ответа Flask restx

Сообщение Anonymous »

Я знаю, что сортировка ответов выглядит примерно так:

Код: Выделить всё

from flask_restx import fields

some_object = {
'id': fields.Integer(reqired=True),
'name': fields.String(required=True)
}

@api.route('', methods=['POST'])
class SomeClass(Resource):
@api.request_body(SomeInputSchemaJson)
@api.response_ok(some_object)
def post(self) -> str:
return {'id': 3, 'name': 'idk'}, 200
и декоратор response_ok выглядит так

Код: Выделить всё

def response_ok(self, model=None, description=None, code=200):
return self.marshal_with(model, code=code, description=description, mask=False, skip_none=True)
но!! поскольку я хочу, чтобы к моему ответу были добавлены некоторые http-заголовки, я хотел бы сделать что-то вроде этого:

Код: Выделить всё

from flask_restx import fields

some_object = {
'id': fields.Integer(reqired=True),
'name': fields.String(required=True)
}

@api.route('', methods=['POST'])
class SomeClass(Resource):
@api.request_body(SomeInputSchemaJson)
@api.response_ok(some_object)
def post(self) -> str:
data = {'id': 3, 'name': 'idk'}
return make_response(jsonify(data), 200)
но это не работает, потому что декоратор response_ok вдруг не знает, как поступить с объектом ответа. Каково решение этой проблемы? Заранее большое спасибо!

Подробнее здесь: https://stackoverflow.com/questions/740 ... arshalling
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»