【发布时间】:2021-09-02 01:38:01
【问题描述】:
我的系统中有以下资源 1. 服务 2. 功能具有以下 JSON 结构的功能,
{
id: "featureName",
state: "active",
allowList: [serviceID1, serviceID2],
denyList: [serviceID3, serviceID4]
}
我正在尝试更新由 serviceID 组成的允许列表或拒绝列表,并考虑使用 PATCH 方法进行如下操作,
/features/{featureId}/allowlist
/features/{featureId}/denylist
/features/{featureName}/state/{state}
我的第一个问题是我是否应该在 url 中包含允许列表、状态、拒绝列表,因为我的资源是服务和功能,而不是允许列表或拒绝列表。
其余端点应该是什么样子?
在阅读了下面提到的线程后,我正在考虑重组网址如下,
/features/{featureId}
[
{ "op": "add", "path": "/allowList", "value": [ "serviceA", "serviceB"]},
{ "op": "update", "path": "/state", "value": false}
]
最后,在这里使用 PATCH 是否合理?或者有更好的方法来设计api。
注意:我从线程REST design for update/add/delete item from a list of subresources得到了一些帮助,但没有经常使用补丁。
【问题讨论】:
标签: rest api-design restful-url