Sobes.tech
Senior

Какви видове уеб API знаете? В чем по същество се различават REST и RPC?

sobes.tech AI

Отговор от AI

Уеб API-тата съществуват в различни видове, като основните са:

  • REST (Representational State Transfer) — архитектурен стил, който използва HTTP методи (GET, POST, PUT, DELETE) за работа с ресурси, които се идентифицират чрез URI. REST е фокусиран върху ресурсите и техните състояния.
  • RPC (Remote Procedure Call) — извикване на отдалечени процедури или функции, където клиентът извиква методи на сървъра, сякаш са локални. Обикновено се предават имена на методи и параметри.
  • GraphQL — език за заявки, който позволява на клиента да поиска точно онези данни, които му трябват.

Разлики между REST и RPC:

  • REST работи с ресурси и техните състояния, а не с извиквания на функции.
  • В REST операциите са стандартизирани чрез HTTP методи, в RPC — се извикват конкретни методи с имена.
  • REST е по-ориентиран към структурата и представянето на данните, RPC — към действията.

Пример:

REST заявка за получаване на потребител:

GET /users/123

RPC заявка за получаване на потребител:

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

Така, REST е по-обявителен и ориентиран към ресурси, а RPC — към извикване на процедури.