Study
FastAPI

Response Model

Penjelasan

response_model di decorator path operation menentukan skema output — FastAPI otomatis memfilter field yang tidak ada di model tersebut (mis. menyembunyikan password), dan mendokumentasikannya di Swagger. status_code menentukan kode HTTP default untuk response sukses.

Contoh Konsep

class CatatanOut(BaseModel):
    id: int
    judul: str

@app.post('/catatan', response_model=CatatanOut, status_code=201)
def buat_catatan(catatan: CatatanIn):
    return {'id': 1, 'judul': catatan.judul, 'isi_rahasia': 'tidak ikut ditampilkan'}

Praktikum

Tambahkan response_model=CatatanOut dan status_code=201 ke endpoint POST '/catatan'.

Editor Latihan

Ketik/edit bebas di sini untuk latihan — kode ini tidak dijalankan.

Tips

response_model bukan cuma dokumentasi — field yang tidak terdaftar di sana benar-benar disaring dari output JSON, jadi ini juga mekanisme keamanan untuk mencegah data sensitif ikut terkirim.