Table of Contents
Reading progress0/7
API yang baik itu seperti pintu otomatis di mall: jelas aksesnya, tidak bikin orang nabrak, dan tetap lancar meski ramai. Desain yang matang bikin tim frontend, mobile, dan partner integrasi kerja lebih cepat.
Apa itu RESTful API?#
REST mengikuti prinsip resource-oriented: setiap entitas (users, orders) direpresentasikan sebagai resource dengan endpoint yang konsisten.
Contoh resource dan method:
GET /users
(list),POST /users
(create)GET /users/{id}
,PUT/PATCH /users/{id}
,DELETE /users/{id}
Kenapa Desain Penting?#
- Konsistensi mempercepat pengembangan klien.
- Evolusi mudah: ada jalur versi dan deprecation yang rapi.
- Observabilitas: error handling dan logging jelas.
Bagaimana Mendesain yang Baik?#
- Penamaan resource jamak:
/users
,/orders
. - Gunakan HTTP semantics: status code 2xx/4xx/5xx yang akurat.
- Pagination dan filtering konsisten:
?page=1&limit=20&sort=-createdAt
. - Error format terstandar:
type
,title
,detail
,traceId
. - Idempotensi untuk
PUT
/DELETE
. GunakanIdempotency-Key
untuk operasi tidak idempotent. - Versioning:
Accept: application/vnd.myapi.v2+json
atau/v2/...
.
Contoh Response yang Rapi#
Autentikasi & Rate Limit#
- Gunakan OAuth2/JWT sesuai kebutuhan.
- Rate limit per IP/API key; balas header
Retry-After
saat limit tercapai.
Observabilitas & Stabilitas#
- Trace-ID per request, korelasi log antar layanan.
- Circuit breaker dan retry dengan backoff.
- SLA/SLI/SLO untuk ekspektasi performa.
Penutup#
API yang dirancang baik akan tetap relevan meski kebutuhan bertambah. Pegang prinsip, buat standar tim, dan disiplin di review. Hasilnya: integrasi cepat, bug lebih sedikit, dan developer experience naik.