【发布时间】:2019-12-25 00:28:29
【问题描述】:
我见过很多 HATEOAS 示例,其中每个资源都有指向相关资源的链接。每个页面返回 N 项特定资源的 API,客户端可能需要 N 次调用才能通过使用 HATEOAS 来获取任何嵌套资源。例如:
获取城市/文件:
[{
id: 1,
city: {
self: 'http://service.com/cities?filter=id==1'
},
document: { ... }
...
}, {
id: 2,
city: {
self: 'http://service.com/cities?filter=id==2'
},
document: { ... }
...
}]
仅供参考,查询参数使用 FIQL 语法来定义过滤器。
现在,如果客户端要获取每个文档的城市详细信息(显示在 UI 上),它可能需要 N 次额外调用。但是在我的情况下,/cities API 还可以采用多个城市 ID,如下所示:/cities?filter=id=in=(1,2) 可以将 N 调用减少到一个。有没有办法使用 HATEOAS 来表达这样的事情?我已经阅读了有关模板的信息,但不确定模板应该是什么样子以及客户如何使用它?
【问题讨论】: