您上面描述的问题已经解决。此外,即使它不是固定的,你也可以绕着它走一圈
[FromQuery(Name="xxx")]
dougbu's walkaround
看来你正在使用
[ApiController]
2.1.302
和
2.1.402
,它工作完美无瑕。
MyColoumnFilter
,将用作您的
T ColumnFilters
在
PagingControl<T>
public class MyColumnFilter
{
public string FieldA { get; set; }
public string FieldB { get; set; }
}
[Route("api/[controller]")]
[ApiController]
public class MyController : Controller
{
// GET api/values
[HttpGet]
public IActionResult Get([FromQuery]PagingControl<MyColumnFilter> pc)
{
return new JsonResult(pc);
}
// ...
}
如果您发送以下请求:
GET https://localhost:5001/api/my?page=1&perPage=10&columnFilters.fieldA=1&columnFilters.fieldB=2&columnSorts[0].Field=cs1&columnSorts[0].Type=Asc&columnSorts[1].Field=cs2&columnSorts[1].Type=Desc HTTP/1.1
查询字符串可分为4个部分:
-
int
一的
-
佩奇:一个
int
十
-
列过滤器:
columnFilters.fieldA=1&columnFilters.fieldB=2
-
columnSorts[]:自
ColumnSorts
是一个数组,我们应该像
columnSorts[0].Field=xx&columnSorts[0].Type=Asc&columnSorts[1].Field=...
另外,如果使用
GET
http方法。看见
Chris Pratt's comment
根据我的另一个回答。