2

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

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

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

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

4

1 回答 1

2

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

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

如果你想让它异步,POST 一个工作单元并获取某种 ID,然后你可以 GET 那个 id 来查看它的进展情况。

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

于 2013-01-10T08:53:03.557 回答