๐ฏ Poin-Poin Utama Modul Ini:
- Mewarisi
pydantic.BaseModeluntuk mendefinisikan skema JSON input Field(gt=0, min_length=3)untuk aturan validasi atribut- Parsing dan konversi tipe JSON otomatis
๐ฆ Validasi Skema JSON dengan Pydantic
Dalam Seri Corey Schafer Part 5, pembuatan postingan baru dilakukan dengan menerima Request Body berupa JSON bertipe Pydantic model.
๐ป Kode Pydantic Model dengan Field Rules
schemas.py
from pydantic import BaseModel, Field
class PostBase(BaseModel):
title: str = Field(..., min_length=3, max_length=100)
content: str
published: bool = True
rating: int | None = Field(None, ge=1, le=5)
class PostCreate(PostBase):
pass
from fastapi import FastAPI
app = FastAPI()
@app.post("/posts")
def create_post(post: PostCreate):
return {"status": "created", "data": post.model_dump()}