0

HTTP API を設計中です。

クライアントが加算/減算できる Balance プロパティを持つ Card リソースがあります。

最初は、これはリソースへの更新の形式であるため、PUT として実装する必要があると考えていましたが、PUT はべき等であると読みましたが、量への追加はべき等ではありません。

オブジェクトの作成ではないため、次のようなコントローラーとして参照する必要があると思います。

POST example.org/card/{card-Id}/AddToBalance

data: value=10

残高に10追加されます。

より良い方法はありますか?

4

2 に答える 2

1

そうです、このようなユース ケースは REST が得意とするところではありません (操作を表現する、特にエンティティ データの小さなサブセットにしか影響を与えない場合)。ただし、特定のケースは非常に単純ですが、動詞とエンドポイントをわずかに変更するだけで処理できます。

PUT example.org/card/{card-Id}/balance

{"value" : 100}

基本的には と読みます"Update the balance of card {id} to 100"。サーバー側では、トランザクションを検証し、残高の既存の値に基づいて有効な追加であるかどうかを判断する必要があります。

于 2013-01-21T15:13:02.763 に答える
0

設計 REST プリンシパルに関しては良さそうです。

PUT アクションは冪等でなければなりません。しかし、それはあなたの要件に依存します

リソースを完全に置き換えるのではなく、部分的な量の更新を行っているだけなので、PATCHを使用できるその他のこと。

于 2013-01-21T14:09:40.050 に答える