C# .NET Web API - 定义多个查询参数结构或 class

C# .NET Web API - Define multiple query parameters struct or class

我目前正在使用 .NET Core 3.1 中的 Web api,我正在处理许多与分页一起使用的 GET 请求(客户端发送获取项目的请求,提供页码,每件物品的数量等,然后接收物品)。

我注意到,当我想使用此分页选项时,它会产生某种代码重复(每次我需要放置此特定代码时:[FromQuery] page, [FromQuery] perPage)。 我想知道是否有一种方法可以在一个特定选项中定义这些参数,然后在我需要的任何地方使用它。 这样我就可以防止代码重复,而且如果我对分页系统进行更改,这会容易得多。

编辑:pageperPage 参数是 ints。

定义一个 class 包含所有 属性 的分页需求

public class QueryParam
{
   public int Page {get; set;}
   public int PerPage {get; set;}
}

然后在控制器的方法中使用 class

public async Task<IActionResult> GetSomething([FromQuery] QueryParam query)
{
   return Ok();
}