Sobes.tech
Назад к вопросам
Senior
5

Какие виды веб-API вы знаете? Чем REST отличается от RPC по сути?

Компании, где спрашивали
техвил

Ответ от нейросети

sobes.tech 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 — на вызов процедур.