Middle+
48
questionbank

Расскажи о правиле единообразного интерфейса (Uniform Interface).

Получайте ответы на вопросы в реальном времени с Sobes Copilot
Ответ от нейросети sobes.tech

Правило Uniform Interface — одно из шести архитектурных ограничений REST. Оно предписывает системе использовать единый, стандартизированный подход к взаимодействию между клиентом и сервером. Это упрощает и отделяет архитектуру, улучшает видимость и облегчает независимое развитие клиента и сервера.

Компоненты Uniform Interface:

  1. Идентификация ресурсов (Identification of resources): Ресурсы должны быть уникально идентифицируемы (обычно через URI). Это основа для стандартизованного взаимодействия. Пример: /users/123, /products/ABC.
  2. Манипулирование ресурсами через их представления (Manipulation of resources through representations): Клиент получает представление ресурса (например, в JSON или XML формате), которое содержит достаточно информации для изменения или удаления ресурса на сервере. Состояние ресурса на сервере можно изменить, отправив измененное представление.
  3. Самоописуемые сообщения (Self-descriptive messages): Каждое сообщение (запрос или ответ) должно содержать достаточно информации, чтобы быть полностью понятым без контекста состояния сервера или других запросов. Это включает метаданные: тип контента, информацию о кэшировании, ссылки на другие ресурсы и т.д.
    http
  4. Hypermedia as the Engine of Application State (HATEOAS): Позволяет клиенту динамически переходить между ресурсами, основываясь на гипермедийных ссылках, предоставленных сервером в ответе. Клиент не должен заранее знать все URI, кроме точки входа. Сервер направляет клиента по доступным действиям и ресурсам.
    json
    Вместо жестко закодированных путей, клиент узнает о возможности отмены заказа по наличию и содержанию ссылки с rel: "cancel".

Единообразный интерфейс критически важен для масштабируемости и эволюционируемости RESTful систем, так как он уменьшает связность между компонентами.