【发布时间】:2019-10-04 15:09:27
【问题描述】:
使用 Asp.Net Core 2.2 我正在使用以下方式调用 API:
products?productsIds=1,2&offset=10&limit=4
但我收到有关 productsIds 模型绑定的错误:
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)。
【问题讨论】:
-
[FromQuery]Request 请求中有数据吗?
-
你是说其他参数?是的,他们假设正确的值。我添加了一些更多信息来可能会提出问题。事实上,如果我使用
productsIds=1,那么它可以工作。 -
你可以试试 HttpContext.Request.Query["ProductsIds"] 看看是否有效?
-
更新:是的,它有效...我得到一个字符串“1,2”
标签: c# asp.net-core .net-core asp.net-core-mvc asp.net-core-2.2