API adalah kontrak antara sistem. Section ini membahas desain REST yang konsisten dan implementasinya dengan FastAPI, dari request model dan error handling sampai dokumentasi OpenAPI dan strategi versioning.
Rancang REST API yang konsisten: penamaan resource, semantik method HTTP, idempotency, dan pemilihan status code.
Buka → # Membuat API dengan FastAPIBangun API manajemen tugas dengan FastAPI: path operations, path dan query parameter, serta pengujian TestClient.
Buka → # Request Models dan ValidationValidasi request body dengan Pydantic: field wajib, nilai default, Optional, dan constraint seperti min_length dan ge.
Buka → # Response ModelsKontrol bentuk response dengan response_model: filter field rahasia seperti password dan pisahkan model input-output.
Buka → # Status Codes dan Error ResponsesKirim status code yang tepat: 201 untuk POST, 204 untuk DELETE, serta error 404 dan 400 lewat HTTPException.
Buka → # Pagination, Filtering, dan SortingBangun endpoint daftar yang rapi: pagination, filtering, sorting sort=-field, dan metadata total serta has_next.
Buka → # Authentication dan AuthorizationAmankan API dengan API key header dan pahami konsep JWT, alur OAuth2, serta beda authentication dan authorization.
Buka → # OpenAPI dan API DocumentationPahami skema OpenAPI yang dibangkitkan FastAPI, akses Swagger UI dan ReDoc, lalu perkaya dengan tags dan examples.
Buka → # API TestingUji REST API dengan TestClient dan pytest: fixture, pola Arrange-Act-Assert, dependency_overrides, dan kasus tepi.
Buka → # Versioning dan Backward CompatibilityKelola evolusi API: versioning URL, header, atau query, perubahan additive aman, siklus deprecation, dan changelog.
Buka →