Метод response класса JSONProvider
Метод response применяется к экземпляру
класса JSONProvider и создаёт объект
Response с телом в формате JSON. Первым
параметром передаётся Python-объект для
сериализации, вторым - HTTP-статус, третьим -
словарь заголовков. Метод используется внутри
Flask при возврате словарей и списков из
обработчиков.
Синтаксис
provider.response(obj, [status], [headers])
Пример
Давайте получим провайдер из приложения и сформируем ответ из словаря:
from flask import Flask
app = Flask(__name__)
provider = app.json
res = provider.response({'name': 'abcde'})
print(res.get_data(as_text=True))
Результат выполнения кода:
'{"name":"abcde"}\n'
Пример
Давайте передадим статус и заголовок:
from flask import Flask
app = Flask(__name__)
provider = app.json
res = provider.response(
[1, 2, 3, 4, 5],
201,
{'X-Custom': 'abcde'}
)
print(res.status_code)
print(res.headers['X-Custom'])
Результат выполнения кода:
201
'abcde'
Пример
Давайте вернём словарь из обработчика -
Flask сам вызовет response:
from flask import Flask
app = Flask(__name__)
@app.route('/')
def index():
return {'message': 'hello'}
Результат ответа на запрос /:
{"message":"hello"}
Смотрите также
-
класс
JSONProvider,
который управляет сериализацией JSON -
метод
dumps,
который сериализует объект в строку JSON -
метод
loads,
который разбирает строку JSON в объект -
функцию
json,
которая возвращает текущий JSON-провайдер