Validation pydantique

Coercition de type et validation du modèle.

Essayez dans l'éditeur

Aperçu

Pydantic permet aux classes de données Python de muter automatiquement des configurations réseau fondamentalement non typées en représentations typées.

Cela protège l’état du système à l’aide de contraintes de type robustes.

Sortie de code et d'exécution

Déclare un modèle utilisateur de schéma strict pour les charges utiles de validation.

from pydantic import BaseModel, EmailStr, Field
from typing import List, Optional
import json

class User(BaseModel):
    id: int
    name: str = Field(min_length=2)
    email: EmailStr
    tags: List[str] = []
    is_active: bool = True

# Simulating an API response with mixed types
incoming_data = {
    "id": "123",       # string gets coerced to int
    "name": "Alice",
    "email": "alice@example.com",
    "tags": ("python", "developer") # tuple gets coerced to list
}

# Validate and instantiate
user = User(**incoming_data)

print("--- Validated Pydantic Model ---")
print(repr(user))
print("\n--- Exported to JSON ---")
print(user.model_dump_json(indent=2))
Sortie terminale
--- Validated Pydantic Model ---
User(id=123, name='Alice', email='alice@example.com', tags=['python', 'developer'], is_active=True)

--- Exported to JSON ---
{
  "id": 123,
  "name": "Alice",
  "email": "alice@example.com",
  "tags": [
    "python",
    "developer"
  ],
  "is_active": true
}

Mise en œuvre étape par étape

  • Protection des points de terminaison de l'API
  • Validation du schéma de configuration
  • Interface de base de données

Foire aux questions

Sujets connexes