Request Body dengan Pydantic
Penjelasan
Untuk menerima data terstruktur dari body request (biasanya JSON), FastAPI memakai model Pydantic — class yang mewarisi BaseModel dengan atribut bertipe. FastAPI otomatis mem-parsing JSON, memvalidasi tiap field, dan mengembalikan error 422 detail kalau ada field yang tidak sesuai.
Contoh Konsep
from pydantic import BaseModel
class CatatanIn(BaseModel):
judul: str
isi: str
@app.post('/catatan')
def buat_catatan(catatan: CatatanIn):
return {'judul': catatan.judul, 'isi': catatan.isi}
Praktikum
Buat model Pydantic CatatanIn dengan field judul (str) dan isi (str), lalu pakai sebagai parameter endpoint POST '/catatan'.
Ketik/edit bebas di sini untuk latihan — kode ini tidak dijalankan.
Tips
Pisahkan model Pydantic untuk input (CatatanIn) dan output (CatatanOut) kalau field-nya beda (mis. output punya id, input tidak) — pola ini jadi kebiasaan penting di proyek FastAPI besar.