3

我正在研究 REST API,我的资源之一是其他资源的集合,所以我应该返回类似的内容:

{
    "Links":[
        {
            "Href":"http://my.rest.api/document/1",
            "Rel":"something"
        },
        {
            "Href":"http://my.rest.api/document/2",
            "Rel":"something"
        }
    ]
}

我的问题是关于“rel”属性的。我真的不明白它的用途。是否需要指定使用哪种 HTTP 方法?有人可以解释一下吗?

非常感谢

4

2 回答 2

6

HTML 4 定义了一组链接类型。他们理解的关键是这句话:

用户代理、搜索引擎等可以以多种方式解释这些链接类型。例如,用户代理可以通过导航栏提供对链接文档的访问。

REST 也是如此。服务器和客户端必须就 的可能值的含义达成一致 rel。想到这些:

  • parent: Resource 是其子的父集合
  • next:集合中的下一个资源(如果集合是有序的)
  • prev:集合中的前一个资源(如果集合是有序的)
  • children: 子资源的集合

可以有更多。具体rel值在很大程度上取决于您的资源。

编辑:属性rel没有说明 HTTP 动词。它们只提示当前资源与不同资源的关系性质。

于 2013-07-25T14:30:55.017 回答
0

它们是目标资源如何与当前资源相关的描述符。您可以自己制作,也可以使用已建立的。

http://www.iana.org/assignments/link-relations/link-relations.xhtml

如果它们在您的 API 中是稳定的,那么您可以构建客户端应用程序,从您的链接中查找他们感兴趣的 rel,然后遵从它们href以推进它。

例如,您可以返回:

"links":
[
    {
        "href": "/items",
        "rel": "collection"
    },
    {
        "href": "/items/123",
        "rel": "delete"
    }
]
于 2018-07-24T16:52:52.470 回答