Как я могу реализовать HATEOAS в Haskell?
У меня есть старый код, который предоставляет службы в веб-API, который работает в основном на HTTP-глаголах. Я бы хотел, чтобы этот проект использовался для управления гипермедией (HATEOAS). Мне интересно, есть ли уже библиотеки, которые поддерживают встраивание ссылок в представление ресурсов для вспомогательных ресурсов в соответствии со спецификациями HAL или JSON-LD. Я гугл, но ничего не нашел. Было бы хорошо знать, планирует ли один из зрелых проектов, таких как Yesod, Snap или Happstack, поддержать эту функцию?
Изменить: Чтобы уточнить, меня интересует уровень 3 REST Maturity Model
Ответы
Ответ 1
Вы видели HAL раньше? Это формат спецификации объектов гипермедиа. Вики-страница github для спецификации имеет список библиотек, но я не вижу там никаких библиотек haskell.
Однако быстрый google появляется https://github.com/talios/haskell-hal. Не выглядит суперпопулярным, но, возможно, после прочтения HAL вы внесете свой вклад, разблокируете его или запустите свой собственный!
Ответ 2
пакет json-api подразумевает некоторую поддержку HATEOS. Это результат этот примерный код, демонстрирующий, как вы можете создать ответ стиля HATEOS/HAL.