2017-04-24 10 views
0

コントローラのrouteattributeには、可能であれば残りのパラメータのパラメータを追加したいと思います。そして、コードを実行するときに、どうすればそれらを取得/使用できますか?余分なパラメータを使ったルーチンのマッピングc#net core

コントローラのデフォルトルートは次のようになります。

[ルート( "API/[コントローラ]")]

と私が持っているしたいですかのような

[ルート( "API/[言語]/[コントローラ]")]

そして、言語値を次のレイヤーに渡します。 私はデフォルトの言語を使うことができます。

答えて

0

あなたは[RoutePrefix]属性を使用して、全体のコントローラ用の共通パラメータを設定することができます。

は「GetDetails」としてTestController持つ属性[RoutePrefix]及び方法を含む以下の例をご覧ください。

[RoutePrefix("api/{language}/test")] 
public class TestController : ApiController 
{ 
    [Route("GetDetails")] 
    public string GetDetails(string language) 
    { 
     // Use language string parameter here. 
     return language; 
    } 
} 

ここで、RoutePrefixには、すべてのメソッドに適用できるパラメータ{language}が含まれています。ルート接頭辞を無効にするには、メソッド属性にチルダ(〜)を使用します。例えば

- [ルート( "〜/ API /テスト/ GetAllDetails")]

+0

おかげで、私は知っているが、それぞれの方法でそれらを設定せずに離れた値を取得するがあることをはい。 http:// localhost:62564/api/test/Hindi/GetDetails – joakimja

+0

[RoutePrefix]属性を使用してコントローラ全体に共通属性を設定できます。 –

+0

上記の例を更新しました。 –

関連する問題