РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
47 of 307 menu

Параметр response_class

Параметр response_class применяется в декораторах маршрутов FastAPI и указывает, каким классом будет сформирован ответ. По умолчанию используется JSONResponse, но можно указать HTMLResponse, PlainTextResponse, RedirectResponse и другие наследники Response. Это влияет на заголовок Content-Type и способ сериализации возвращаемых данных.

Синтаксис

@app.get(path, response_class=ResponseClass)

Пример

Давайте вернём HTML-страницу, указав HTMLResponse:

from fastapi import FastAPI from fastapi.responses import HTMLResponse app = FastAPI() @app.get('/', response_class=HTMLResponse) def index(): return '<h1>hello</h1>'

Результат выполнения кода:

<h1>hello</h1>

Пример

Давайте вернём обычный текст, указав PlainTextResponse:

from fastapi import FastAPI from fastapi.responses import PlainTextResponse app = FastAPI() @app.get('/text', response_class=PlainTextResponse) def text(): return 'abcde'

Результат выполнения кода:

"abcde"

Пример

Давайте выполним перенаправление, указав RedirectResponse:

from fastapi import FastAPI from fastapi.responses import RedirectResponse app = FastAPI() @app.get('/old', response_class=RedirectResponse) def old(): return RedirectResponse(url='/new') @app.get('/new') def new(): return {'text': 'hello'}

Результат выполнения кода для адреса /old:

{"text": "hello"}

Смотрите также

  • параметр response_model,
    который задаёт модель ответа
  • параметр status_code,
    который задаёт код состояния ответа
  • метод get,
    который вешает обработчик на GET-запрос
  • метод api_route,
    который вешает обработчик на произвольный HTTP-метод
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить