Perbedaan REST API dengan RPC API
1. REST API (Representational State Transfer)
Ciri-ciri:
-
Resource-oriented → fokus pada data/resource (misalnya user, produk, artikel).
-
URL merepresentasikan resource, bukan aksi.
-
Contoh:
-
GET /users→ ambil semua user -
GET /users/1→ ambil user dengan id=1 -
POST /users→ tambah user baru
-
-
-
Method HTTP punya makna standar:
-
GET = baca, POST = buat, PUT/PATCH = update, DELETE = hapus.
-
-
Stateless → setiap request membawa semua informasi (token, parameter), server tidak menyimpan session client.
-
Format data biasanya JSON, tapi bisa juga XML, dll.
-
Mudah dipahami dan jadi standar industri.
Contoh:
GET /api/v1/users/5 → {"id":5,"name":"Novi","email":"novi@example.com"}
???? 2. RPC API (Remote Procedure Call)
Ciri-ciri:
-
Action-oriented → fokus pada aksi/fungsi yang dipanggil.
-
URL = nama fungsi/prosedur.
-
Contoh:
-
POST /getUsers -
POST /createUser -
POST /deleteUser
-
-
-
Biasanya hanya pakai POST (meskipun kadang GET), method HTTP tidak dipakai sesuai standar.
-
Lebih mirip “panggil fungsi jarak jauh” daripada manipulasi resource.
-
Bisa terasa lebih cepat dibuat, tapi kurang konsisten.
Contoh:
POST /createUser Body: {"name":"Novi","email":"novi@example.com"} → {"id":5,"name":"Novi","email":"novi@example.com"}
???? 3. Perbandingan Singkat
| Aspek | REST API | RPC API |
|---|---|---|
| Fokus | Resource (data) | Aksi/prosedur |
| URL | /users/1 |
/getUserById |
| Method HTTP | Sesuai standar (GET, POST, PUT, DELETE) | Biasanya hanya POST |
| Konsistensi | Tinggi (konvensi jelas) | Rendah (tergantung developer) |
| Populeritas | Sangat populer (dipakai di web & mobile) | Masih dipakai di legacy system / microservices tertentu |
???? Jadi: REST lebih standar & mudah di-maintain, sedangkan RPC lebih simpel tapi bisa bikin API cepat berantakan kalau makin besar.