【发布时间】:2017-10-17 12:10:58
【问题描述】:
我有一个非常基本的 ASP.NET Core 2 Web 应用程序(没有剃刀视图,只有带有 json 响应的 MvcCore)。
我正在尝试在 Postman 中执行一个非常简单的 GET 请求,而我的控制器操作没有将查询字符串参数绑定到我的自定义 POCO。
这是邮递员尝试点击的示例网址:http://localhost:51459/orders?Query=iphone&MinimumPrice=22
public class OrderQuery
{
public string Query { get; set; }
public decimal? MinimumPrice { get; set; }
public decimal? MaximumPrice { get; set; }
}
[Route("orders")]
public class OrdersController : ControllerBase
{
[HttpGet("")]
public async Task<ActionResult> GetOrdersAsync(OrderQuery query)
{
// query.Query is null.
// all the properties of query are null.
}
}
现在我可以单步执行该方法(即命中断点),因此该路由确实得到了“找到”和“处理”。
其次,我还尝试在 POCO 中的属性上添加 [FromQuery] 属性。
最后,我尝试更改请求中的大小写,但我认为模型投标不区分大小写。
谁能看到我做错了什么?是否有特定的middleware 我应该检查我是否已连接/未连接?
【问题讨论】:
-
试试
Task<ActionResult> GetOrdersAsync([FromQuery]OrderQuery query) -
不 - 也没有工作:(
标签: c# asp.net asp.net-core-2.0 asp.net-core-mvc-2.0