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.

# Desain REST API

Rancang REST API yang konsisten: penamaan resource, semantik method HTTP, idempotency, dan pemilihan status code.

Buka →
# Membuat API dengan FastAPI

Bangun API manajemen tugas dengan FastAPI: path operations, path dan query parameter, serta pengujian TestClient.

Buka →
# Request Models dan Validation

Validasi request body dengan Pydantic: field wajib, nilai default, Optional, dan constraint seperti min_length dan ge.

Buka →
# Response Models

Kontrol bentuk response dengan response_model: filter field rahasia seperti password dan pisahkan model input-output.

Buka →
# Status Codes dan Error Responses

Kirim status code yang tepat: 201 untuk POST, 204 untuk DELETE, serta error 404 dan 400 lewat HTTPException.

Buka →
# Pagination, Filtering, dan Sorting

Bangun endpoint daftar yang rapi: pagination, filtering, sorting sort=-field, dan metadata total serta has_next.

Buka →
# Authentication dan Authorization

Amankan API dengan API key header dan pahami konsep JWT, alur OAuth2, serta beda authentication dan authorization.

Buka →
# OpenAPI dan API Documentation

Pahami skema OpenAPI yang dibangkitkan FastAPI, akses Swagger UI dan ReDoc, lalu perkaya dengan tags dan examples.

Buka →
# API Testing

Uji REST API dengan TestClient dan pytest: fixture, pola Arrange-Act-Assert, dependency_overrides, dan kasus tepi.

Buka →
# Versioning dan Backward Compatibility

Kelola evolusi API: versioning URL, header, atau query, perubahan additive aman, siklus deprecation, dan changelog.

Buka →