【问题标题】:REST, Unit of Work, Business TransactionsREST,工作单元,业务事务
【发布时间】:2013-01-09 15:41:03
【问题描述】:

我是否正确理解“工作单元”的概念与“REST”的概念冲突?

UoW 的实现应该向服务器发送一组 [ordered] 不同类型的更改对象。这会导致 PUT 和 DELETE 动词和 URI 混合使用,并且无法使用 REST 样式的一个 HTTP 请求来完成。

更一般地说,没有办法以 REST 样式实现涵盖对不同类型对象的不同类型更改的业务事务。

你是如何解决这个问题的?创建一些可以接受相应数据或做其他事情的专用URI“/transaction”?

【问题讨论】:

    标签: web-services rest architecture transactions unit-of-work


    【解决方案1】:

    只需定义一个资源(和表示)作为您的工作单元,并将其发布到您的服务以进行数据处理——根据 POST 的 HTTP 规范。

    (POST 也可以看作是“附加”动词,您将一个项目附加到概念性工作列表;))

    如果您想使其异步,请发布一个工作单元并获取某种 ID,然后您可以获取该 ID 以查看其进展情况。

    通常,您希望使用乐观锁定等技术分解此类操作以供客户端处理,但如果需要,您始终可以将资源真正广泛地定义为某种工作文档。

    【讨论】:

      猜你喜欢
      • 2014-06-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-02-26
      • 1970-01-01
      相关资源
      最近更新 更多