ASP.NET Core MVC を使用して 1 つの RESTful API を構築しており、クエリ文字列パラメータを使用して、コレクションを返すリソースのフィルタリングとページングを指定したいと考えています。
その場合、クエリ文字列で渡された値を読み取ってフィルタリングし、返す結果を選択する必要があります。
コントローラーGet
アクション内でアクセスするとHttpContext.Request.Query
1 つが返されることはすでにわかっていますIQueryCollection
。
問題は、値を取得するためにどのように使用するのかがわからないことです。実際には、たとえば次のように使用するのが良いと思いました。
string page = HttpContext.Request.Query["page"]
問題は、HttpContext.Request.Query["page"]
文字列ではなく を返すことですStringValues
。
IQueryCollection
とにかく、クエリ文字列の値を実際に読み取るには、どのように使用するのでしょうか?
ベストアンサー1
[FromQuery]
特定のモデルをクエリ文字列にバインドするには、次のようにします。
例えば
[HttpGet()]
public IActionResult Get([FromQuery(Name = "page")] string page)
{...}