REST API HATEOAS 问题

REST API HATEOAS issue

我正在阅读 API 回复中的 HATEOAS,所以我有这种情况,用户会先点击这个 URL

  1. /payments,这个 URL 将 return 一个允许的支付方式列表,我正在考虑 return 一个链接键,其中包含那些允许的支付方式的端点,但这些链接需要一个参数,集成商应该 build/filled,它对 return HATEOAS 有效吗?在这种情况下,链接使用的是 GET 动词。

谢谢,

is it valid to return HATEOAS in this case, the links are using GET verb.

HATEOAS:你的指导原则是"how would I do it in web pages?"

在您的情况下,一个简单的实现可能是您有一个 /payments 页面和多个 links(使用 paypal 付款、使用信用卡付款等)。这些 link 中的每一个都会 GET 一个新的网页,上面有一个表格,可以向消费者显示该类型的付款需要哪些信息。这些表单可能会立即提交付款(可能是 POST,内容正文中带有表单参数),或者它们会 link 到确认页面(GET,表单参数显示为查询参数),这将向用户显示付款摘要,并带有一个确认按钮,该按钮将像以前一样执行 POST。

使用 HATEOAS 构建 REST api 是同一件事,专为程序而非个人设计。因此,您的 links 密钥将包含允许的付款方式形式的端点,并且这些表单将与 links 密钥一起出现,该密钥将表单连接到付款方式。