【发布时间】:2018-03-13 21:57:29
【问题描述】:
我目前正在为我的公司指定一个 API,符合 JSON API 规范。
使用GET host.com/members/{members_id} 检索members 资源时,我需要公开许多电话号码phones。
例子:
{
"data": {
"type":"members",
"id": "1",
"attribute": {
"phones": [{
"phone": "",
"type": ""
}]
}
},
"relationships": {
"subscriptions": {
"links": {
"related": "host.com/members/id/subscriptions"
}
},
"relations": {
"links:" {
"related": "host.com/members/id/relations"
}
}
},
"links": {
"self": "host.com/members/id"
}
}
我不知道公开一个简单的字典列表是否相关,或者是否最好创建单独的资源可在/members/me/phones/{phones_id} 访问,并为链接到phones 的members 创建一个新的relationships .
要在一个请求中检索members,然后我可以执行GET /members/{members_id}?include=phones。
从我的开发人员的角度来看,访问单独的资源比管理和发布列表更容易,特别是对于手机(例如只删除一部手机),但我很高兴拥有您的(经常相关)外部建议。
感谢您的支持!
【问题讨论】:
-
似乎您想使用的两种方式都行得通?两种方式似乎都符合要求,您可以选择自己想做的事情……我个人认为,您可以将所有数据放入独立的电话资源中,也许您想根据唯一性做出此决定(即,2个用户可以共享同一个手机资源吗?)