ASP.NET Core でクエリ文字列から値を読み取るにはどうすればいいですか? 質問する

ASP.NET Core でクエリ文字列から値を読み取るにはどうすればいいですか? 質問する

ASP.NET Core MVC を使用して 1 つの RESTful API を構築しており、クエリ文字列パラメータを使用して、コレクションを返すリソースのフィルタリングとページングを指定したいと考えています。

その場合、クエリ文字列で渡された値を読み取ってフィルタリングし、返す結果を選択する必要があります。

コントローラーGetアクション内でアクセスするとHttpContext.Request.Query1 つが返されることはすでにわかっていますIQueryCollection

問題は、値を取得するためにどのように使用するのかがわからないことです。実際には、たとえば次のように使用するのが良いと思いました。

string page = HttpContext.Request.Query["page"]

問題は、HttpContext.Request.Query["page"]文字列ではなく を返すことですStringValues

IQueryCollectionとにかく、クエリ文字列の値を実際に読み取るには、どのように使用するのでしょうか?

ベストアンサー1

[FromQuery]特定のモデルをクエリ文字列にバインドするには、次のようにします。

モデルバインディング

例えば

[HttpGet()]
public IActionResult Get([FromQuery(Name = "page")] string page)
{...}

おすすめ記事