Принцип HATEOAS в REST API заключается в том, что взаимодействие клиента с сервером происходит через гипермедиа, которые динамически предоставляются в ответах сервера. 13
Некоторые аспекты принципа HATEOAS:
- Динамическое обнаружение действий. 1 В отличие от традиционных API, где возможные действия жестко запрограммированы в клиенте, HATEOAS требует, чтобы клиент обнаруживал доступные действия через гипермедиа, предоставляемые сервером. 1
- Разделение клиента и сервера. 1 Сервер предоставляет информацию о доступных действиях, и клиенту не нужно знать структуру URI или иметь жестко запрограммированный шаблон взаимодействия. 1
- Взаимодействие без сохранения состояния. 1 Каждый запрос клиента содержит всю информацию, необходимую серверу для выполнения запроса. 1 Сервер не должен помнить предыдущие взаимодействия. 1
Реализация HATEOAS в REST API имеет несколько преимуществ: 2
- Самоописательность. 2 Гипермедийные ссылки внутри ресурсов обеспечивают значимый контекст и помогают клиентам взаимодействовать с ресурсами и определять возможные действия. 2
- Лучшая обнаруживаемость. 2 Включение ссылок в ответы API позволяет клиентам находить связанные ресурсы и действия без необходимости жестко запрограммировать URL-адреса, что снижает связь между клиентами и API. 2
- Улучшенная расширяемость. 2 API-интерфейсы на основе гипермедиа становятся более гибкими, поскольку можно добавлять новые ресурсы и действия, не нарушая работу существующих клиентов, что упрощает развитие API с течением времени. 2