【发布时间】:2014-12-30 17:19:30
【问题描述】:
我目前正在借助 Richardson 的优秀书籍“RESTful Web Services”来学习 REST 实践。我想设计一个遵循 Richardson 成熟度模型的 REST API,尤其是称为 HATEOAS 的第 3 级,这似乎是最复杂的处理。
首先,我不太了解链接和表单之间的不同含义?(关于超媒体,我知道 HTML 解释..)。 仅仅是“链接用于 GET 方法”和“表单用于 GET/POST/PUT 方法”的问题吗?
EDIT1:我明白了:表单可以是应用程序表单,用于构造 URI 并使用 GET 方法,也可以是资源表单对于 PUT/POST 方法(或多或少是我问的)。如果我错了,请纠正我,客户端应该使用 OPTIONS 方法仔细使用链接,以了解如何使用它。
由于我想符合 HATEOAS,所以我需要选择一种超媒体格式……我知道它存在多种格式,例如 Siren、HAL、Collection+JSON、JSON-LD、Hydra 等。 . 但是,我不知道该用哪一个?
在 Richardson 的书中,他使用 xHTML,它有一个主要优点:使用浏览器测试您的 API。但是 xHTML 似乎很重。 我可能更喜欢更轻量级的东西,但最近的超媒体格式(Siren、HAL、...)可能太新且太复杂,无法在没有可编程客户端的情况下进行测试。
【问题讨论】:
-
你能提出一个明确的问题吗?不清楚你在问什么。
-
一切都与超媒体有关:两个概念(链接和表单)之间的区别以及我应该使用哪种超媒体格式。再清楚不过了。
-
HAL 和 Siren 都有非常好的浏览器。 haltalk.herokuapp.com/explorer/browser.html# & siren-browser.herokuapp.com
标签: web-services rest hateoas hypermedia