2

「Unit of Work」の考え方が「REST」の考え方と矛盾することを理解していますか?

UoW の実装では、さまざまなタイプの変更オブジェクトの [順序付けられた] セットをサーバーに送信する必要があります。これにより、PUT 動詞と DELETE 動詞および URI が混在し、REST スタイルの 1 つの HTTP 要求では実行できません。

より一般的には、さまざまな種類のオブジェクトに対するさまざまな種類の変更をカバーするビジネス トランザクションを REST スタイルで実装する方法はありません。

この問題をどのように解決しますか?対応するデータを受け入れるか、何か他のことを行うことができる特別な目的の URI "/transaction" を作成しますか?

4

1 に答える 1

2

作業単位であるリソース (および表現) を定義し、それをデータ処理のためにサービスにポストするだけです (POST の HTTP 仕様に従って)。

(POST は「追加」動詞と見なすこともできます。概念的な作業リストに項目を追加しています ;))

非同期にしたい場合は、作業単位を POST して何らかの ID を取得し、その ID を取得して進行状況を確認できます。

一般に、楽観的ロックなどの手法を使用してクライアントが処理できるように、そのような操作を分割したいと考えていますが、必要に応じて、リソースをある種の作業ドキュメントとして非常に広く定義することもできます。

于 2013-01-10T08:53:03.557 に答える