gpt4 book ai didi

HATEOAS 书签 URL 访问

转载 作者:行者123 更新时间:2023-12-04 15:33:14 26 4
gpt4 key购买 nike

我正在努力了解 HATEOAS。

让我们通过一个例子来工作。客户端将浏览器加载到 getemails.com。为简单起见,让我们假设对 getemails.com 的调用访问了服务器并返回一个电子邮件列表。每封电子邮件都有一个链接,允许用户获取更多详细信息。像这样的东西:

{[
{
"id": "1",
"subject" : "subject something",
_links:[
"email":"http://getemails.com/emaildetail/1"
]
}
{
"id": "2",
"subject" : "subject something else",
_links:[
"email":"http://getemails.com/emaildetail/2"
]
}
]}

这在表格上显示给用户。然后用户单击一行,客户端代码将从所选行的 _links 下获取电子邮件 url 并调用服务器。然后它将使用电子邮件详细信息更新页面(假设为 SPA)。它还会将地址更新为 getemails.com/#email/1

现在,如果用户为 getemails.com/#email/1 位置添加书签怎么办?由于客户端应用程序尚未加载开始的电子邮件列表,它如何知道用于调用服务器以获取更多信息的 url 是 emaildetail/1?

最佳答案

你的问题是你不是真正的 RESTful。像 id 字段一样暴露内部工作是你应该避免的陷阱。该 ID 仅在您的服务内部有意义,不应像您所做的那样在服务外部传播。

而是使用指向每个资源的 self 链接,因此当您请求“电子邮件”关系时,您应该得到一个电子邮件资源(大概)

{
"subject" : "subject something",
"text" : "yadda yadda yadda...",
"from" : "here@there.com",
_links:{
"self":"http://getemails.com/emaildetail/1"
}
}

在您的 SPA 片段标识符中使用该自我网址。现在,当用户将该完整 url 加入书签时 getemails.com/#http://getemails.com/emaildetail/1 (使用一些 URL 编码)您的应用程序将知道要检索和呈现的资源。

关于HATEOAS 书签 URL 访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30771399/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com