是否可以使用不同的链接导致相同的资源?

时间:2015-12-17 12:18:34

标签: hateoas hypermedia hal-json

选项1:

我们始终返回"绝对"链接(没有嵌套)。这样,我们总是向客户端提供给定资源的相同链接。

{
    "employeeName": "Joe"
    "links": {
        "company": [
            { "href": "http://api.com/companies/1" }
        ]
}

需要它吗? (知道它需要在服务器端进行额外的工作)

选项2:

我们也可以返回"亲戚"链接,嵌套在返回给客户端的资源下(这里是员工)。但现在,客户端可能已收到2个不同的链接(" http://api.com/companies/1"和" http://api.com/employees/4/company")对应于同一资源。

{
    "employeeName": "Joe"
    "links": {
        "company": [
            { "href": "http://api.com/employees/4/company" }
        ]
}

有没有比另一个更好的选择,为什么?

1 个答案:

答案 0 :(得分:1)

拥有指向同一资源的多个链接是可以的。

网址设计与HATEOAS无关。