Study
FastAPI

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'.

Editor Latihan

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.