Middleware & CORS
Penjelasan
Middleware di FastAPI didaftarkan lewat app.add_middleware() atau decorator @app.middleware('http'). CORSMiddleware adalah middleware bawaan Starlette (dasar FastAPI) untuk mengizinkan frontend di domain lain memanggil API-mu — wajib dikonfigurasi kalau frontend dan backend berbeda origin.
Contoh Konsep
from fastapi.middleware.cors import CORSMiddleware
app.add_middleware(
CORSMiddleware,
allow_origins=['https://frontend.example.com'],
allow_methods=['*'],
allow_headers=['*'],
)
@app.middleware('http')
async def log_waktu(request, call_next):
response = await call_next(request)
return response
Praktikum
Tambahkan CORSMiddleware yang mengizinkan origin 'http://localhost:3000' dengan semua method dan header.
Ketik/edit bebas di sini untuk latihan — kode ini tidak dijalankan.
Tips
Jangan pakai allow_origins=['*'] bersamaan dengan allow_credentials=True di production — browser akan menolak kombinasi ini, dan secara keamanan itu juga berbahaya karena mengizinkan origin mana pun mengakses API dengan kredensial.