2011-12-09 3 views
0
/controller/action/id 

以上が一般的ですどちらのシンプルなREST URLパターンがより一般的であるか、より優れていますか?

/controller/id/action 

?どちらが好ましいのですか?

いずれかのプロの使用はありますか?


編集:

または、おそらく別の方法でこの問題を考えるために、なぜ/controller/action/id URLパターンに最もMVCフレームワーク(ASP.Net MVC、Grailsは、Spring MVCの)デフォルトのですか?これにはいくつかの利点はありますか?

答えて

0

Asp.Net MVCは/controller/action/idを使用します。それが、その環境で最もよく見られるものです。技術的なメリットはありませんが、共通のパターンを使用するだけで、わかりやすくなります。

0

私は間違いなく/controller/action/idを好んでいます。これは、その名詞(動詞)上のアクションを特定するのではなく、リソース(名詞)を特定するのと同じように私に感じます。

リソースへの正確なURLに加えて、HTTP動詞のマッピング方法を検討する必要があります。私の経験では、動詞と組み合わされたときに最も理にかなったことに基づいてURLをシャッフルしました。つまり、ユーザーがブラウザを使用してアクションを実行できるように、GETを使用して特定の削除アクションを公開するなど、利便性のために正式なアプローチを破ったこともあります。

さらに詳しくは、このディスカッションをご覧ください。 REST URL structure advice

+0

actionパラメータを送信するためにPOSTを使用する以外何もできない場合:うわー、何てことだ。私はいくつかのウェブスパイダーが来て、単にそれを得ることだと思ってあなたのすべてのデータを削除することを願っています! GETとPOSTだけをサポートするブラウザ用にHTTPメソッドをトンネリングするときは、GET以外のすべてをトンネリングするためにPOSTを使用してください! –

2

どちらもRESTfulではありません。 URLにverb/actionsはあってはいけません。これらは、正当な理由でHTTPメソッドに限定されています(クライアントが特定のことを知らずにサービスとやりとりできるように)。

あなたがGETとPOST、「ユーザーがブラウザを介してアクションを実行することができるようにGETして、特定の削除アクションを暴露する」/controller/id

関連する問題