2012-02-22 1 views
1

MVC Web APIの標準ルートは{controller}/{id}です。しかし、私は変数をより記述的に、そして単に「id」にしたいと思います。これを行うには、WCF Web APIが動作したときに、メソッドに直接ルートをマップできるかどうかがわかります。 MVCでこれを行う方法はありますか?それとも、MVCishによるルーティング方法はありますか?それでも、それぞれのメソッドに固有の識別可能なプレースホルダを保持していますか?または、私はすべての私のパラメータIDの名前をつけていますか?代わりのWeb APIの各メソッドに意味のある名前を持つMVCルートをマッピングする

[WebGet(UriTempalte="{controller}/{email}"] 
    public string GetEmail(string email) 

public string GetEmail(string id) 
+1

あなたはasp.net-mvcを使用していると仮定します。ルーティングがフレームワーク間でどのように動作するか。 – CodesInChaos

+0

はい、それはASP.NET MVC 4です。私は新しいフレームワークに調整しようとしているので、WCF Web APIを置き換えています。 – Despertar

答えて

2

名前をemailとすると、それに応じてパラメータを指定するGlobal.asax.csに別のルートを作成します({controller}\{email})。 MVCルートでは、MVC固有のキーワード、つまり{controller}、{action}、{area}などの非常に短いリストしかありません。他のすべてのパラメータは対応するアクションパラメータに渡されます(アクションメソッドのシグネチャにコース)。

1

routes.MapRoute("getemail/{email}", new { controller = "EmailGetter", action = "GetEmail" })があなたを十分ではありませんか?

関連する問題