Versioning phổ biến nhất là path prefix như /api/v1, dễ debug và dễ route qua gateway. Header-based versioning sạch URL hơn nhưng khó test và cache hơn.
Trong FastAPI, có thể dùng router prefix:
python
v1 = APIRouter(prefix="/api/v1")
v2 = APIRouter(prefix="/api/v2")
app.include_router(v1)
app.include_router(v2)Không nên tạo version mới cho mọi field nhỏ.
Dùng backward-compatible changes trước, deprecate rõ ràng, đo traffic cũ rồi mới remove.