1

我在 REST API 中有一组资源,可以这样说:

GET /folders
[{ "id": "x", "watched": true }, { "id": "y", "watched": true }, ...]

我已经将“停止观看”命令实现为 PATCH:

PATCH /folders/x { "watched": false }

实施“停止观看所有文件夹”的正确方法是什么?我想到了

PATCH /folders { "watched": false }

但我不确定这是否有意义(集合本身没有watched属性)。

还是根本不应该在 API 级别实现(而是由客户端迭代)?
不过,这似乎效率低下。

4

1 回答 1

1

我认为PATCH /folders { "watched": false }完全合适。让实现决定如何使用预期资源状态(您的 JSON)的给定表示来修补文件夹。资源表示应该是什么样子没有限制,它们应该是自我描述的,所以在这种情况下,它们应该有一个标准的内容类型,仅此而已。(GET 响应可能不同。)

我不建议您迭代客户端的集合,因为它不是原子的,它可能随时失去连接。您应该只发送一个关于此的请求。

于 2014-09-09T01:04:38.397 回答