Как вернуть данные в формате JSON с помощью FastAPI?

Вопрос проверяет знание встроенной системы сериализации FastAPI и работы с Pydantic для автоматического преобразования данных Python в JSON.

Короткий ответ

FastAPI автоматически сериализует данные в JSON при возвращении объекта Python (например, словаря или экземпляра Pydantic модели) из функции маршрута.

Длинный ответ

FastAPI имеет встроенную поддержку сериализации данных. Это позволяет разработчику возвращать объекты Python, такие как списки, словари или экземпляры Pydantic моделей, которые затем преобразуются в JSON автоматически.

 

Особенностью FastAPI является использование моделей Pydantic для валидации и сериализации данных. Pydantic модели не только проверяют входящие данные, но и определяют структуру выходных данных.

 

Пример использования:

from fastapi import FastAPI
from pydantic import BaseModel

app = FastAPI()

class User(BaseModel):
    id: int
    name: str
    email: str

@app.get("/user/{user_id}", response_model=User)
def get_user(user_id: int):
    return User(id=user_id, name="John Doe", email="john.doe@example.com")

В этом примере FastAPI преобразует объект User в JSON. Документация OpenAPI, генерируемая FastAPI, также учитывает структуру response_model, что делает API более понятным.

 

Когда использовать:

- Для создания API, где требуется структурализованный и стандартный обмен данными.

Уровень

  • Рейтинг:

    3

  • Сложность:

    6

Навыки

  • FastAPI

Подпишись на Python Developer в телеграм