ASP.NET MVC でのマルチパラメーター ルーティング
ASP.NET MVC を使用して API を作成する場合、データを取得または操作するために複数のパラメーターをアクション メソッドに渡す必要があることがよくあります。この記事では、MVC が提供するルーティング メカニズムを使用してこれを実現する方法について説明します。
クエリ文字列を使用してパラメータを渡します
デフォルトでは、MVC はクエリ文字列を介してアクション メソッドにパラメータを渡すことをサポートしています。質問に記載されている URL は、以下のようなもので、このアプローチを使用しています:
<code>http://ws.audioscrobbler.com/2.0/?method=artist.getimages&artist=cher&api_key=b25b959554ed76058ac220b7b2e0a026</code>
MVC では、コントローラーは「artist」に対応し、アクションは「getImages」に対応し、「artist」と「api_key」のクエリ文字列パラメーターがアクション メソッドのパラメーターに自動的に入力されます。
カスタムルーティングルール
MVC はクエリ文字列を介した基本的なパラメーターの受け渡しをサポートしていますが、カスタム ルーティング ルールも可能です。これにより、より複雑な URL パターンを扱う際の柔軟性が向上します。
ルーティング ルールは global.asax ファイルで定義され、特定の形式に従います。デフォルトでは、次のパターンに従います:
<code>routes.MapRoute( "Default", // 路由名称 "{controller}/{action}/{id}", // 带参数的 URL new { controller = "Home", action = "Index", id = "" } // 参数默认值 );</code>
「/Artist/GetImages/cher/api-key」などの URL パターンをサポートするには、新しいルートを追加できます。
<code>routes.MapRoute( "ArtistImages", // 路由名称 "{controller}/{action}/{artistName}/{apikey}", // 带参数的 URL new { controller = "Home", action = "Index", artistName = "", apikey = "" } // 参数默认值 );</code>
この場合、「{artistName}」タグと「{apikey}」タグが URL パスから設定され、それに応じてアクション メソッドの「artistName」パラメータと「apikey」パラメータが設定されます。
以上がASP.NET MVCルーティングで複数のパラメータを処理するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。