【问题标题】:REST PATCH for all resources of a given type给定类型的所有资源的 REST PATCH
【发布时间】:2014-09-02 23:38:39
【问题描述】:

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

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

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

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

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

PATCH /folders { "watched": false }

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

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

【问题讨论】:

    标签: rest http-patch


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-03-31
      • 2017-05-26
      • 1970-01-01
      • 2018-04-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多