Фактические примеры для HATEOAS (REST-architecture) [закрыто]
как все, возможно, заметили, есть много поддельных / рудиментарных REST-API в дикой природе (которые реализуют HTTP-API и называют его REST, не следуя требованию гипертекста как движка приложения, что привело к знаменитая тирада Роя т. Филдинга, человек, который первым указал остальное-парадигму).
Я не смог найти никаких практических примеров действительно гипертекстовой REST-реализации вместе с соответствующим конкретным приложением определения типов носителей для переходов состояний.
есть ли публично доступные примеры таких реализаций?
5 ответов:
Это не реализация в смысле выполнения кода, но мне очень нравится статья"Как получить чашку кофе " on InfoQ. Он описывает процесс заказа кофе в Starbucks как спокойный протокол. Это выходит за рамки типичной вводной статьи" все является ресурсом " и фокусируется на HATEOAS. Настоятельно рекомендуемый.
как о Sun Cloud API? Из введения:
API не предполагает никакой конкретной структуры в пространстве URI. Отправной точкой является URI, предоставленный поставщиком облачных услуг, который идентифицирует само облако. Представление облака содержит URI для других ресурсов в облаке, а также для операций, которые могут выполняться над ними (например, развертывание и запуск виртуальных машин).
в Предыстория также может быть полезно.
у Netflix есть REST API на основе HATEOAS, который включает ссылки как часть ресурсов.
не является ли RESTfulness API Sun Cloud на самом деле адресован в 4-м пункте Роя:
API REST не должен определять фиксированные имена ресурсов или иерархии (очевидная связь клиента и сервера). Серверы должны иметь свободу управления собственным пространством имен. Вместо этого разрешите серверам инструктировать клиентов о том, как создавать соответствующие URI, например, в формах HTML и шаблонах URI, определяя эти инструкции в типах носителей и связях ссылок. [Неудача здесь подразумевает, что клиенты принимают структуру ресурсов из-за внеполосной информации, такой как доменный стандарт, который является ориентированным на данные эквивалентом функциональной связи RPC].
Пример 1 исправлены имена ресурсов в определенном наследии:
из API Sun Cloud:"... представление VDC будет включать представления кластеров, которые его населяют, которые, в свою очередь, включают представления виртуальных машин внутри каждого группа."
Пример 2 внеполосная информация, такая как доменный стандарт:
вы должны иметь содержимое вики-страницы (внеполосная информация), чтобы знать, что "механизм связи ресурсов" для поля облачных ресурсов "uri"-это GET.
Я понял, что это было задано некоторое время назад, но я попытался продемонстрировать "правильный" поток REST API для простого примера. Я попытался следовать правилам Роя для отдыха-возможно, это могло бы помочь: пример API с использованием REST