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

Класс UJSONResponse

Класс UJSONResponse применяется для возврата JSON-ответа из обработчика FastAPI. В отличие от стандартного JSONResponse, он сериализует данные через библиотеку ujson, которая работает заметно быстрее встроенной json. Класс наследуется от JSONResponse, поэтому первым параметром принимает данные для сериализации, а также поддерживает параметры status_code, headers, media_type и background. Для использования класса нужно установить библиотеку ujson.

Синтаксис

from fastapi.responses import UJSONResponse UJSONResponse(content, status_code=200, headers=None, media_type=None, background=None)

Пример

Давайте вернём JSON-ответ через класс UJSONResponse:

from fastapi import FastAPI from fastapi.responses import UJSONResponse app = FastAPI() @app.get('/') def index(): return UJSONResponse({'text': 'hello'})

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

{"text": "hello"}

Пример

Давайте передадим список значений и зададим свой код статуса:

from fastapi import FastAPI from fastapi.responses import UJSONResponse app = FastAPI() @app.get('/items') def items(): data = {'items': [1, 2, 3, 4, 5]} return UJSONResponse(data, status_code=201)

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

{"items": [1, 2, 3, 4, 5]}

Пример

Давайте добавим собственный заголовок в ответ:

from fastapi import FastAPI from fastapi.responses import UJSONResponse app = FastAPI() @app.get('/user') def user(): headers = {'X-Custom': 'abcde'} return UJSONResponse({'name': 'user'}, headers=headers)

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

{"name": "user"}

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

  • класс JSONResponse,
    который формирует стандартный JSON-ответ
  • класс ORJSONResponse,
    который формирует JSON-ответ через библиотеку orjson
  • класс Response,
    который является базовым классом для всех ответов
  • атрибут status_code,
    который задаёт код состояния HTTP-ответа
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить