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.