【问题标题】:REST without PUT [closed]没有 PUT 的 REST [关闭]
【发布时间】:2014-10-29 08:25:33
【问题描述】:

ThoughtWorks Technology Radar July 2014技术/试验下提到了一种称为REST without PUT 的新趋势。他们将其解释为:

在上一期雷达中,我们谈到了捕获显式 领域事件,强调记录 已触发状态的具有业务意义的事件 转换,而不仅仅是 CRUD 实体。休息 接口通常使用 PUT 来更新资源状态, 但是,通常最好使用 POST 来记录新事件 捕获意图的资源。没有 PUT 的 REST 有一个 分离命令和查询接口的附带好处 并迫使消费者允许最终的一致性。

是否有任何其他资源可供阅读? REST without PUT 这个词是 ThoughtWorks 提出来的,还是学术上的,还是……?

对此有任何提示吗?

【问题讨论】:

  • 感谢您的链接,但这个小小的讨论可能不是 ThoughtWorks 决定将这个术语纳入其雷达的(单一或主要)原因,不是吗?我会期待“更多”的东西,更官方的东西,......? (PS:无论如何,非常感谢链接,请不要误会!)
  • 这是我能找到的唯一的东西,除了 ThoughtWorks 自己的页面
  • 恕我直言,他们说应该停止关注 CRUD 操作并专注于状态转换。然后将一组转换映射到特定事件。其中之一用于更新实体。如何更新和更新什么取决于事件的上下文。需要发布更新事件而不是 PUT 更新。顺便说一句,解决了在 REST 中使用纯 HTML 的一个问题 - HTML 不允许在没有 JS 的情况下触发 PUT 或 DELETE。
  • 其他资源:thoughtworks.com/insights/blog/… - 我读过这篇很棒的文章,然后丢失了多年,终于又找到了。多年来,我为客户构建了 REST API,并在阅读 TW 文章之前得出了关于 REST w/o PUT 的独立结论。我认为在许多情况下,基于 CRUD 的 API 是完美的,但在其他情况下,尤其是。受监管的金融,REST w/o PUT 正是医生所要求的:发布了一个请求;)。

标签: rest eventual-consistency


【解决方案1】:

恕我直言,他们说应该停止关注 CRUD 操作并专注于状态转换。然后将一组转换映射到特定事件。其中之一用于更新实体。如何更新和更新什么取决于事件的上下文。需要发布更新事件而不是 PUT 更新。

顺便说一句,它解决了在 REST 中使用纯 HTML 的一个问题 - HTML 不允许在没有 JavaScript 的情况下触发 PUT 或 DELETE。

【讨论】:

    【解决方案2】:

    没有 PUT 的 REST 不是标准的;如您所料,这只是 ThoughtWorks 的事情。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-07-26
      • 2014-12-10
      • 1970-01-01
      • 2017-02-04
      • 2021-10-11
      • 2015-10-11
      • 2021-05-14
      • 2013-05-12
      相关资源
      最近更新 更多