我目前正在借助 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、...)可能太新且太复杂,无法在没有可编程客户端的情况下进行测试。