Perbedaan REST API dengan RPC API
Perbedaan REST API dengan RPC API

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.