@Pathで指定したURIの優先順位を明確にします。
{id}のようにパス埋め込まれたパラメータが少ない方からマッチングしていきます。
理由:
@Path("/foo/{identifier}") public ActionResult method1() { } @Path("/foo/execute") public ActionResult method2() { }
のようなパスが定義された場合、method1の正規表現が"/foo/[a-zA-Z0-9]+"となって"/foo/execute"でアクセスしてもmethod1が実行される可能性があります。(現状では登録された順番にマッチングするので、どちらが呼ばれるか特定できない)
なので、パス埋め込まれたパラメータが少ない方からマッチングしていくことで少しでもパスが不安定になることを避けたいと思います。
"/foo/
{identifier}"と"/foo/
{name}"なんかだと、区別がつかないのでこれはムリ。