使用Asp.Net Core 2.2,我正在使用以下方法调用API:
products?productsIds=1,2&offset=10&limit=4
但是我收到了productIds的模型绑定错误:
The value '1,2' is not valid.
我尝试使用productsIds=1
,在这种情况下,它可以工作。
Offset
和Limit
也获得正确的值...
API模型和操作如下:
public class Request {
public IList<Int32> ProductsIds { get; set; }
public Int32 Limit { get; set; }
public Int32 Offset { get; set; }
}
[ApiController]
public class ProductController : ControllerBase {
[HttpGet("products")]
public async Task<IActionResult> Get([FromQuery]Request request) {
// Action code
}
}
我想念什么?
更新
这与此Question不同,因为该问题中提出的解决方案使用[FromUri]
。
属性[FromUri]
在ASP.NET Core 2.2 ApiController
(Microsoft Docs)中不可用。
答案 0 :(得分:1)
尝试此操作,您可以使用HttpContext.Request.Query来获取参数
喜欢
HttpContext.Request.Query["ProductsIds"]
答案 1 :(得分:1)
如果您要将List
作为GET参数传递,请使用以下查询
products?productsIds=1&productsIds=2