ASP.NET Core の APIコントローラーで、リクエストパラメーター(クエリ文字列)を取得する方法を書いていきます。
具体的には、以下のリクエストの場合に、
http://localhost:xxxx/req/param?id=4
パラメーター「id」の「4」を取得して使う方法になります。
プロジェクトの概要
動作確認のために作成したプロジェクトは以下の通りです。
- 言語:C#
- テンプレート:ASP.NET Core Web API
- フレームワーク:.NET 6.0
- HTTPS 用の構成:無効
- コントローラーを使用する:有効
- OpenAPI サポートを有効にする:無効
- プロジェクト名:WebApiSample
プロジェクトの作成方法は、こちら に記載しています。
目次
- コントローラーの作成
- 動作確認
1. コントローラーの作成
プロジェクトの Controllersフォルダの下に、以下の APIコントローラーを追加します。
Controllers.ReqParamController.cs
using Microsoft.AspNetCore.Mvc; namespace WebApiSample.Controllers { [ApiController] public class ReqParamController : ControllerBase { [HttpGet("/req/param")] public Dictionary<string, long> Get([FromQuery] long id) { return new Dictionary<string, long>() { { "id", id } }; } } }
リクエストパラメーターの名前と引数名を同じにすると取得できました。属性の「FromQuery」は省略可能ですが、取得元を明確にするために付けています。
※ コントローラーの追加方法は、こちら に記載しています。
2. 動作確認
デバッグ実行して、以下の URL(ポート番号は可変)にアクセスします。
http://localhost:xxxx/req/param?id=4
以下の JSONがレスポンスとして返却されます。
{"id":4}