API Versioning — API

API Versioning memastikan perubahan API tidak merusak client yang sudah ada. Strategi versioning: 1. URL Versioning (paling populer): GET /api/v1/users GET /api

API Versioning memastikan perubahan API tidak merusak client yang sudah ada.

Strategi versioning:

1. URL Versioning (paling populer):

GET /api/v1/users
GET /api/v2/users

Kelebihan: jelas, mudah di-cache, mudah di-route. Kekurangan: URL berubah.

2. Header Versioning:

GET /api/users
Accept: application/vnd.myapi.v2+json

Kelebihan: URL tetap bersih. Kekurangan: sulit di-test di browser.

3. Query Parameter Versioning:

GET /api/users?version=2

Kelebihan: mudah diimplementasi. Kekurangan: mudah terlupa, sulit di-cache.

Semantic Versioning untuk API:

v1.0.0 → Major.Minor.Patch
- Major: breaking changes (v1 → v2)
- Minor: fitur baru, backward compatible
- Patch: bug fix

Strategi Deprecation:

  1. Umumkan deprecation jauh-jauh hari (6-12 bulan)
  2. Tambahkan header Deprecation dan Sunset di response
  3. Sediakan migration guide dari versi lama ke baru
  4. Monitor penggunaan versi lama sebelum dimatikan
Deprecation: true
Sunset: Sat, 01 Jan 2025 00:00:00 GMT
Link: <https://docs.api.com/migration>; rel="successor-version"

Backward Compatibility:

Yang akan kamu pelajari