как все, возможно, заметили, существует множество поддельных / рудиментарных REST-API (которые реализуют HTTP-API и называют его REST без соблюдения требования гипертекста как движка-состояния приложения, что привело к к знаменитой тираде Роя Т. Филдинга , человека, который первым определил REST-парадигму).
Мне не удалось найти никаких практических примеров действительно управляемой гипертекстом REST-реализации вместе с соответствующими определениями медиа-типов для конкретных приложений для переходов состояний.
Есть ли публично доступные примеры таких реализаций?
Ответы:
Это не реализация в смысле выполнения кода, но мне очень нравится статья « Как получить чашку кофе » на InfoQ. Он описывает процесс заказа кофе в Starbucks как протокол RESTful. Это выходит за рамки типичной вводной статьи о REST «все является ресурсом» и фокусируется на HATEOAS. Настоятельно рекомендуется.
источник
Как насчет Sun Cloud API ? Из введения:
Предыстория также может быть полезной.
источник
Netflix имеет REST API, основанный на HATEOAS, который включает ссылки как часть ресурсов.
источник
Разве RESTfulness Sun Cloud API не рассматривается в 4-м пункте Роя:
Пример 1 Фиксированные имена ресурсов в определенной иерархии:
Из Sun Cloud API: «... представление виртуального ЦОД будет включать представления населяющих его кластеров, которые, в свою очередь, включают представления виртуальных машин в каждом кластере».
Пример 2 внеполосной информации, такой как стандарт для конкретной предметной области:
У вас должно быть содержимое вики-страницы (внеполосная информация), чтобы знать, что «механизм взаимодействия ресурсов» для поля облачных ресурсов «uri» - это GET.
источник
Я понял, что об этом спросили некоторое время назад, но я попытался продемонстрировать «правильный» поток REST API на простом примере. Я пытался следовать правилам Роя для REST - возможно, это могло бы помочь: Пример API с использованием REST
источник