Standar industri untuk komunikasi antar service. Resource-based, predictable.
Representational State Transfer. Arsitektur untuk web service yang resource-based. Setiap URL menunjuk ke resource (mis. /users, /products). HTTP method menunjukkan aksi.
GET (ambil data, tidak ubah server). POST (buat baru). PUT (update keseluruhan). PATCH (update parsial). DELETE (hapus). Pakai sesuai semantic, jangan asal POST untuk semuanya.
Pakai noun (kata benda), bukan verb. Plural untuk collection. Hierarki untuk relasi. Contoh baik: /users/123/orders. Contoh buruk: /getUserOrders/123. Konsisten across API.
200 OK (success). 201 Created (resource baru). 400 Bad Request (input salah). 401 Unauthorized (belum login). 404 Not Found. 500 Server Error. Pakai yang tepat untuk debugging.
Versioning: /v1/users vs /v2/users untuk evolve API tanpa break client lama. Pagination wajib untuk list panjang: ?page=1&limit=20. Hindari kirim 1 juta record sekaligus.