HATEOAS — это ограничение, согласно которому клиент должен узнавать о своих возможностях из получаемых ответов, а не из URL-адресов, жестко закодированных в документации. Каждое представление содержит ссылки, и именно эти ссылки позволяют клиенту переходить из одного состояния в другое.
Ответ содержит структуру ссылок — обычно `_links` — с указанием доступных переходов и их URL-адресов: self, next, cancel, approve. Клиент переходит по ссылке в соответствии с тем, что он хочет сделать. Поскольку доступные ссылки зависят от текущего состояния, для отправленного заказа ссылка на отмену отсутствует, и клиенту не нужно устанавливать собственные правила относительно того, когда разрешена отмена.
HATEOAS — это чисто теоретический подход, и никто его не внедряет. Частичный HATEOAS используется повсеместно: URL-адрес `next` в ответе с постраничной навигацией — это именно такая идея, и клиент, который следует ему, а не увеличивает счетчик страниц, уже получает от этого выгоду — он продолжает работать, когда сервер переходит к постраничной навигации с курсором.
В документации Protocol Lab конечные точки добавляют `_links` к каждому элементу. В списке банковских транзакций используется курсор, которому клиент должен следовать, а не создавать его самостоятельно.
Все термины · Приёмы тестирования · Все 39 mock REST API
Последнее обновление