2 回答
TA贡献1830条经验 获得超3个赞
我正在使用apigility,但我的回答仍然与您的问题有关。根据 REST 术语(可以在这里找到https://apigility.org/documentation/intro/first-rest-service#terminology)您正在谈论实体和集合。
/customers/id - entity,
/customers/id/payments - collection,
/customers/id/logs - collection.
这是 3 个不同的请求。所以,是的,你需要提出 3 个不同的请求。
但是,老实说,如果您不需要分页,payments并且logs您只能向 /customers/id 发出一个请求,并且在响应中您可以拥有带有数组的字段
{
"_links": {
"self": {
"href": "http://localhost:8080/status/3c10c391-f56c-4d04-a889-bd1bd8f746f0"
}
},
"id": "3c10c391-f56c-4d04-a889-bd1bd8f746f0",
...
_payments: [
...
],
_logs: [
...
],
}
更新(与未来访客的评论重复)。
另外,您应该注意DTO。我想这个链接会很有趣https://stackoverflow.com/a/36175349/1581741。
更新2。
目前,我这样对待您的收藏/customers/id/payments:
/payments?user_id=123
表格user_id上的过滤字段在哪里。payments
TA贡献1875条经验 获得超5个赞
我认为您的问题是您将 REST API 与数据库混淆了。它们不必遵循相同的结构。GET /customers/{id}
如果这是您从 REST API 中需要的,您可以轻松地返回整个嵌套的 JSON 。
- 2 回答
- 0 关注
- 95 浏览
添加回答
举报