【问题标题】:How can I implement HATEOAS in Haskell?如何在 Haskell 中实现 HATEOAS?
【发布时间】:2014-06-12 01:55:20
【问题描述】:

我有一些旧代码在 Web API 上公开服务,该 API 基本上适用于 HTTP 动词。我想移动这个项目以使用超媒体控件(HATEOAS)。我想知道是否有任何库已经支持根据 HAL 或 JSON-LD 规范在子资源的资源表示中嵌入链接。我用谷歌搜索,但我找不到任何东西。很高兴知道 Yesod、Snap 或 Happstack 等成熟项目之一是否计划支持此功能?

编辑:澄清一下,我对REST Maturity Model 的第 3 级感兴趣

【问题讨论】:

  • 你的问题我猜 Yesod 已经支持了,看这个:yesodweb.com/book/restful-content
  • @Sibi 我不这么认为,它谈论使用动词的 HTTP API。但我指的是类似于HAL 的东西。在REST maturity model中是3级
  • 我建议任何查看此问题的人花时间阅读@opensourcegeek 发布的链接中的“3 级”部分,因为这是一个比最初看起来更有趣的问题( “看看所有这些流行语!”)

标签: rest haskell yesod hateoas happstack


【解决方案1】:

你以前见过HAL 吗?它是超媒体对象的规范格式。该规范的 github wiki 有一个 list of libraries,但我在那里没有看到任何 haskell 库。
然而,一个快速的谷歌出现了https://github.com/talios/haskell-hal。看起来不是很受欢迎,但也许在阅读了有关 HAL 的内容后,您会做出贡献、分叉或发布自己的内容!

【讨论】:

    【解决方案2】:

    json-api package 声称为 HATEOS 提供一些支持。 This is the output of this example code 演示如何生成 HATEOS/HAL 样式响应。

    【讨论】:

      猜你喜欢
      • 2015-05-06
      • 2013-12-17
      • 1970-01-01
      • 2015-12-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-23
      相关资源
      最近更新 更多