Sobes.tech
Senior

Milyen web-API típusokat ismersz? Miben különbözik lényegében a REST az RPC-től?

sobes.tech MI

Válasz az MI-től

A webes API-k különböző típusokban léteznek, közülük a főbbek:

  • REST (Representational State Transfer) — egy architekturális stílus, amely HTTP módszereket (GET, POST, PUT, DELETE) használ erőforrásokkal való munkára, amelyeket URI-k azonosítanak. A REST az erőforrásokra és azok állapotaira összpontosít.
  • RPC (Remote Procedure Call) — távoli eljárások vagy funkciók hívása, ahol a kliens a szerver metódusait hívja meg, mintha azok helyiek lennének. Általában metódusnevek és paraméterek kerülnek átadásra.
  • GraphQL — egy lekérdező nyelv, amely lehetővé teszi a kliens számára, hogy pontosan azokat az adatokat kérje, amelyekre szüksége van.

A REST és az RPC közötti különbségek:

  • A REST erőforrásokkal és azok állapotaival dolgozik, nem funkcióhívásokkal.
  • A REST műveletei HTTP módszerekkel vannak szabványosítva, az RPC-ben konkrét metódusokat hívnak meg nevekkel.
  • A REST inkább az adatszerkezetre és annak bemutatására összpontosít, az RPC pedig a műveletekre.

Példa:

REST kérés a felhasználó lekéréséhez:

GET /users/123

RPC kérés a felhasználó lekéréséhez:

POST /rpc
{
  "method": "GetUser",
  "params": { "id": 123 }
}

Így a REST deklaratívabb és erőforrás-orientált, míg az RPC a művelethívásokra fókuszál.