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-Keyuntuk operasi tidak idempotent. - Versioning:
Accept: application/vnd.myapi.v2+jsonatau/v2/....
Contoh Response yang Rapi#
Autentikasi & Rate Limit#
- Gunakan OAuth2/JWT sesuai kebutuhan.
- Rate limit per IP/API key; balas header
Retry-Aftersaat 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.