Класс Response
Класс Response применяется для создания HTTP-ответа с полным контролем над его содержимым.
В отличие от автоматической сериализации возвращаемых значений,
Response позволяет напрямую задать тело ответа, статус-код, заголовки и медиа-тип.
Объект класса возвращается из функции-обработчика маршрута,
и FastAPI отдаёт его клиенту без дополнительной обработки.
Первым параметром передаётся содержимое тела ответа,
вторым - статус-код, третьим - словарь заголовков,
четвёртым - медиа-тип.
Синтаксис
Response(content, status_code, headers, media_type)
Пример
Давайте вернём простой текстовый ответ с помощью класса Response:
from fastapi import FastAPI, Response
app = FastAPI()
@app.get('/')
def index():
res = Response(content='abcde', media_type='text/plain')
return res
Результат выполнения кода:
"abcde"
Пример
Давайте зададим статус-код и собственные заголовки:
from fastapi import FastAPI, Response
app = FastAPI()
@app.get('/')
def index():
res = Response(
content='article',
status_code=201,
headers={'X-Custom': 'hello'},
media_type='text/plain'
)
return res
Результат выполнения кода:
"article"
Смотрите также
-
класс
JSONResponse,
который формирует JSON-ответ -
класс
HTMLResponse,
который формирует HTML-ответ -
класс
PlainTextResponse,
который формирует текстовый ответ -
атрибут
status_code,
который хранит статус-код ответа