この質問はおそらく重複ですが、似たような質問は見つかりませんでした(正確に何を検索すればよいかわかりません)。
次のようなRESTfulリソースURLがあるとします。
/my/items/6/edit
このページには、#6のアイテムを編集できるフォームがあります。フォームを送信すると、PUTX /my/items/6
-HTTP-Method-Overrideヘッダーを使用してにPOSTされます。
私の質問は、サーバーハンドラーはどこから値「6」を取得する必要があるかということです。URLから取得する必要がありますか?または、HTTP POSTデータから(たとえば、IDがフォームの非表示の入力フィールドとしてレンダリングされた場合)?
それはURLから来るべきだと私には思えます。しかし、これはそれを取り出すのにもう少し面倒になります。たとえば、.NET MVCでは、コントローラーアクションメソッドから次のように取得できます。
var id = int.Parse(ControllerContext.RouteData.Values["id"].ToString());
...それは価値があるよりも厄介なようです。ただし、HTTP POSTデータから取得した場合、技術的には、アイテム#6のデータをに投稿/配置でき/my/items/7
ます。サーバーは引き続きアイテムデータをID#6で保存します。
ここに標準的な方法はありますか?