纯HTML与框架定义HATEOAS API?

时间:2016-07-24 00:09:51

标签: api rest hateoas

何时应该开发HATEOAS服务器RESTful API而不是使用HTML(资源链接,表单等)?

HTML和浏览器是否足以作为超媒体引擎?

1 个答案:

答案 0 :(得分:1)

  

HTML和浏览器不足以作为超媒体引擎吗?

HTML + HTTP + URI +浏览器===万维网。所以这很好,不是开玩笑。

这不是没有错。

HTML对链接的理解令人失望。不支持幂等写入。 Uri模板仅支持GET。我不是非常热衷于“链接”有多少不同的拼写。

对于超媒体格式来说,它有点冗长;不要误会我的意思 - 当你试图记录人类正在发生的事情时,内置文本标记是很棒的。但到目前为止,我的印象是,当你想要快速查看自动代理消耗的语义内容时,同样的结构开始妨碍你。

我提请您注意RFC-4287

中的这句话
  

Atom解决的主要用例是将Web内容(如网络日志和新闻标题)联合到网站以及直接联系到用户代理。

因此,一群非常聪明的人,特别是试图解决与网络直接相关的用例,决定投入大量精力来标准化新的超媒体格式,而不是使用已经普遍存在于问题领域的格式。

在过去10多年中,这种格式已被广泛采用。

没有采用,我不确定HATEOAS有多大好处。如果您正在控制对话的两面,则不需要超媒体API(例如:网络上的javascript - 具有代码点播功能的超媒体下载通过某些带外通道学习了web api协议的客户端)。

证据似乎表明HTML并不像任何基于JSON的超媒体格式那样方便。

总之:不,这还不够好。目前它可能是一个可接受的占位符;但是JSON超媒体工具集很快就会变得足够成熟,HTML将被视为朝着错误方向迈出的一大步。