Validasi Pydantic

Ketik paksaan dan validasi model.

Coba di Editor

Ikhtisar

Pydantic memungkinkan kelas data Python untuk secara otomatis mengubah konfigurasi jaringan yang pada dasarnya tidak diketik menjadi representasi yang diketik.

Ini melindungi status sistem menggunakan batasan tipe yang kuat.

Kode & Output Eksekusi

Mendeklarasikan model Pengguna skema yang ketat untuk payload validasi.

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))
Keluaran Terminal
--- 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
}

Implementasi Langkah demi Langkah

  • Perlindungan titik akhir API
  • Validasi skema konfigurasi
  • Antarmuka basis data

Pertanyaan yang Sering Diajukan

Topik Terkait