Senior
Jaké typy webových API znáte? Čím se podstatně liší REST od RPC?
sobes.tech AI
Odpověď od AI
Webové API existují v různých typech, z nichž hlavní jsou:
- REST (Representational State Transfer) — architektonický styl, který používá HTTP metody (GET, POST, PUT, DELETE) k práci s prostředky, které jsou identifikovány URI. REST je zaměřen na prostředky a jejich stavy.
- RPC (Remote Procedure Call) — volání vzdálených procedur nebo funkcí, kdy klient volá metody serveru, jako by byly lokální. Obvykle jsou přenášena jména metod a parametry.
- GraphQL — jazyk dotazů, který umožňuje klientovi požadovat přesně ta data, která potřebuje.
Rozdíly mezi REST a RPC:
- REST pracuje s prostředky a jejich stavy, nikoli s voláním funkcí.
- V REST jsou operace standardizovány HTTP metodami, v RPC jsou volány konkrétní metody s názvy.
- REST je více zaměřen na strukturu dat a jejich prezentaci, RPC na akce.
Příklad:
REST požadavek pro získání uživatele:
GET /users/123
RPC požadavek pro získání uživatele:
POST /rpc
{
"method": "GetUser",
"params": { "id": 123 }
}
Tedy, REST je více deklarativní a zaměřený na prostředky, zatímco RPC na volání procedur.