現在、REST API を設計しており、撤回アクションに取り組む最善の方法がわからないため、投稿の目的のために、これは既に処理されているため、セキュリティを無視します。
現在、ユーザーリソースにはバランス接続があり、
GET https://api.example.com/user/1/balance
{"balance":10}
ユーザーの残高を返します。
この残高から引き出すには 2 つの方法が考えられます。残高接続で削除するか、新しい接続で引き出してから、この接続に金額を POST します。
DELETE実装 - 5ポイントを撤回
DELETE https://api.example.com/user/1/balance?amount=5
{"balance":5}
POST実装 - 5 ポイントを引き出す
POST https://api.example.com/user/1/withdraw
HTTP BODY: amount=5
{"balance":5}
提案?
個人的には、データからアクションを分離するため、 withdraw 接続で POST を使用します。これにより、トランザクションをGETで取得し、 DELETEでキャンセルできます。
アップデート
もう 1 つの方法は、残高オブジェクトでトランザクション接続を作成してから、これにPOSTすることです。
POST https://api.example.com/user/1/balance/transactions
HTTP BODY: amount=-5
{"balance":5}
これはより良い方法でしょうか?これにより、残高リソースにトランザクションリソースが作成されます。