とがあり/group/1
、のメンバーです。から削除して に入れたいと思います。私の現在の解決策はこれです:/group/2
/item/42
/group/1
/item/42
/group/1
/group/2
GET /group/1/item/42 => Get the item from the first group
POST /group/2/item => Create a clone of the item in the 2nd group
DELETE /group/1/item/42 => Delete the original item from the 1st group
このソリューションには (少なくとも) 2 つの深刻な問題があります。
- クライアントが の前に停止する
DELETE
と、アイテムは両方のグループのメンバーになります。 - アイテムの ID は で同じではありません
/group/2
。これは、アイテムがその ID を失うかのように見えます。
アイテムのグループ メンバーシップを 1 ステップで (可能であれば ID を保持して) 変更したい場合、API を再設計するにはどうすればよいですか?