Sobes.tech
Junior
115
questionbank

Какие API можно назвать RESTful?

Answer from AI

sobes.tech AI

RESTful API соответствуют принципам архитектурного стиля REST:

  • Клиент-сервер: Разделение обязанностей между клиентом, запрашивающим ресурсы, и сервером, их предоставляющим.
  • Stateless (Отсутствие состояния): Каждый запрос от клиента к серверу должен содержать всю необходимую информацию для обработки запроса. Сервер не хранит состояние сессии клиента.
  • Cacheable (Кэшируемый): Сервер должен явно или неявно указывать, могут ли ответы быть кэшированы клиентом или посредниками.
  • Layered System (Многослойная система): Клиент не может отличить прямой вызов сервера от вызова через промежуточные слои (прокси, балансировщики нагрузки и т.д.).
  • Code-On-Demand (Код по запросу - опционально): Сервер может временно расширять функциональность клиента, передавая исполняемый код (например, JavaScript).
  • Uniform Interface (Единый интерфейс): Наиболее важный принцип RESTful API. Состоит из четырех ограничений:
    • Идентификация ресурсов: Ресурсы идентифицируются по URL.
    • Манипуляция ресурсами через представления: Клиент взаимодействует с ресурсами получая представления ресурсов (например, в формате JSON, XML).
    • Самоописывающиеся сообщения: Каждое сообщение содержит достаточно информации для обработки, включая метаданные о том, как обработать сообщение и ресурс.
    • HATEOAS (Hypermedia as the Engine of Application State): Сервер должен содержать гиперссылки в своих ответах, позволяющие клиенту обнаружить доступные действия и переходить между состояниями приложения. Это наименее часто выполняемый принцип.

RESTful API используют стандартные HTTP-методы (GET, POST, PUT, DELETE, PATCH) для операций над ресурсами, идентифицируемыми URI.

Например, GET-запрос к /api/users/123 получает представление пользователя с ID 123.