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 — към извикване на процедури.