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