ASP.NET MVC API を構築するプロセスでは、API エンドポイントに複数のパラメーターが必要な状況が発生することがあります。たとえば、「artist」パラメータと「api_key」パラメータを含むサンプル URL を使用する場合、これらのパラメータを MVC のアクション メソッドに渡す方法が明確ではない場合があります。
操作メソッドにパラメータを渡します
MVC では、パラメーターをメソッドのパラメーターとして追加するだけで、アクション メソッドに簡単に渡すことができます。たとえば、次のような操作があるとします。
<code class="language-csharp">public ActionResult GetImages(string artistName, string apiKey)</code>
MVC は、次のような URL を指定すると、これらのパラメーターをシームレスに設定します。
<code>/Artist/GetImages/?artistName=cher&apiKey=XXX</code>
「ID」という名前のパラメータを処理します
MVC は、「id」という名前のパラメーターに独自の機能を提供します。この名前のパラメータは、クエリ文字列ではなくパスに直接配置できます。したがって、次のようなメソッド:
<code class="language-csharp">public ActionResult GetImages(string id, string apiKey)</code>
は、
のような URL を使用して正しく設定できます。<code>/Artist/GetImages/cher?apiKey=XXX</code>
カスタムルーティングルール
より複雑な場合には、MVC が検索操作に使用するルーティング ルールをカスタマイズできます。 global.asax ファイルには、変更可能なルーティング ルールが含まれています。デフォルトでは、ルールは次のように定義されています:
<code class="language-csharp">routes.MapRoute( "Default", // 路由名称 "{controller}/{action}/{id}", // 带参数的URL new { controller = "Home", action = "Index", id = "" } // 参数默认值 );</code>
次のような URL をサポートしたい場合:
<code>/Artist/GetImages/cher/api-key</code>
追加のルーティング ルールを追加できます。例:
<code class="language-csharp">routes.MapRoute( "ArtistImages", // 路由名称 "{controller}/{action}/{artistName}/{apikey}", // 带参数的URL new { controller = "Home", action = "Index", artistName = "", apikey = "" } // 参数默认值 );</code>
これにより、前に提供したサンプルメソッドを使用できるようになります。
以上が複数のパラメーターを ASP.NET MVC アクション メソッドに効率的に渡す方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。