Sobes.tech
Back to questions
Middle
5

Как в FastAPI работает валидация и сериализация данных?

Companies where asked
fabriqeue

Answer from AI

sobes.tech AI

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

  • Валидирует входящие данные по типам и ограничениям, заданным в модели.
  • Преобразует (сериализует) Python объекты в JSON для ответа.
  • Обрабатывает ошибки валидации и возвращает понятные сообщения клиенту.

Пример:

from fastapi import FastAPI
from pydantic import BaseModel, Field

app = FastAPI()

class Item(BaseModel):
    name: str = Field(..., min_length=3)
    price: float

@app.post('/items/')
async def create_item(item: Item):
    return item

Здесь FastAPI проверит, что name — строка минимум из 3 символов, а price — число с плавающей точкой. Если данные невалидны, клиент получит ошибку 422 с описанием проблемы.