Sobes.tech
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.