Study
FastAPI

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.

Editor Latihan

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.