0

我想对 ASP.NET 5 应用程序中的所有控制器使用全局模型验证过滤器。
但是我遇到了一个问题,即默认绑定器不会从 URI 填充模型值(但对于有体的 POST 操作来说效果很好)。例如,我有带有动作的控制器:

public class TestController : ApiController
{
  [HttpGet, Route("test/{id}"/return)]
  public int TestAction([FromUri] TestModel model)
  {
    return model.Id;
  }

  public class TestModel
  {
    [Required]
    public int? Id { get; set; }
  }
}

通过 URI 请求此控制器,例如,localhost:12345/test/10/return返回 'null' 响应。对于另一个复杂模型也是如此,访问一些 [Required] 标记的字段会引发 NRE,例如 binder 会忽略路由中的 {id} 表达式。

任何可以关闭此行为的想法?

4

1 回答 1

0

抱歉引起您的注意,似乎属性名称中有错字或错误。
我尝试使用复杂模型作为方法的参数重新实现测试操作,现在一切都按预期工作。

于 2018-11-05T08:07:35.810 回答