【问题标题】:Append HTTP verb附加 HTTP 动词
【发布时间】:2014-03-25 02:40:43
【问题描述】:

我在/api/foo/1/ 有(JSON 用于)这样的资源

{name: "foo", bar_pks: [10, 11, 12]}

现在我想添加一个用于附加到bar_pks 的 API。我找不到用于附加的 HTTP 动词。如果我用{bar_pks: [13]}/api/foo/1/ 进行修补,它将覆盖而不是附加。

  1. 有没有更符合附加的动词?
  2. 如果我修改 patch 以使该资源始终进行追加,那么它以后会咬我吗?

(我正在使用 Django 和 Tastypie,但更喜欢与语言无关的答案。)

【问题讨论】:

    标签: json django rest tastypie


    【解决方案1】:

    是否有令人信服的理由不在客户端执行附加操作并使用 PUT/PATCH 将更新后的值发送回服务器?

    如果您下定决心这样做,我会看到几个选项:

    1. 对新 URI 的 POST 被解释为附加到 列表。
    2. PATCH 上的一个查询参数,它指示 更改应附加而不是覆盖。

    这些都不是好的选择,我不赞成使用它们。

    【讨论】:

    • 我想避免在客户端使用 append 因为它需要两个 api 调用 - 首先获取列表。 (我是一个列表页面,没有 pk 列表。)我可能会在另一个页面发帖。
    猜你喜欢
    • 2021-02-26
    • 2017-08-09
    • 1970-01-01
    • 2010-12-12
    • 2018-05-09
    • 1970-01-01
    • 1970-01-01
    • 2019-12-26
    • 1970-01-01
    相关资源
    最近更新 更多