Ответ
Единообразие интерфейса (Uniform Interface) — одно из шести ключевых архитектурных ограничений REST, которое стандартизирует и упрощает взаимодействие между клиентом и сервером. Оно состоит из четырех составляющих:
-
Идентификация ресурсов (Identification of resources): Каждый ресурс однозначно идентифицируется с помощью URI (Uniform Resource Identifier). Например,
/users/123
— это URI для конкретного пользователя. -
Манипуляция ресурсами через представления (Manipulation of resources through representations): Клиент взаимодействует с ресурсом через его представление (например, в формате JSON или XML). Ответ сервера содержит достаточно информации, чтобы клиент мог изменить или удалить ресурс на сервере.
-
Самодостаточные сообщения (Self-descriptive messages): Каждое сообщение (запрос или ответ) содержит всю необходимую информацию для его обработки. Это включает HTTP-метод (
GET
,POST
), заголовки (например,Content-Type
) и тело сообщения. -
Гипермедиа как двигатель состояния приложения (HATEOAS): Ответы сервера содержат ссылки (гипермедиа), которые позволяют клиенту динамически обнаруживать доступные действия и переходить между состояниями приложения. Это снижает связанность клиента и сервера.
Пример ответа с HATEOAS:
// GET /users/123
{
"id": 123,
"name": "Alex",
"links": [
{
"rel": "self",
"href": "/users/123",
"method": "GET"
},
{
"rel": "edit",
"href": "/users/123",
"method": "PUT"
},
{
"rel": "orders",
"href": "/users/123/orders",
"method": "GET"
}
]
}
Соблюдение этого принципа позволяет клиенту и серверу развиваться независимо друг от друга.