【发布时间】:2017-03-03 09:47:25
【问题描述】:
我为我的 web api 设置了很多模型,但没有一个模型对它们有任何属性。这是一个简单的控制器示例
public async Task<IActionResult> PutAsync([FromBody] ChartModel model)
{
....
}
现在,如果用户尝试在模型中上传无效数据类型,例如,在数字属性中键入字母,那么我的控制器会收到 null。
最好、最简单的处理方法是什么?如果这些特定方法的模型为空,我想返回一个 BadRequest。
我可以在每个方法中添加类似下面的内容。
if (model == null)
return new BadRequestObject("Invalid model");
但我确信一定有一些我可以做的并且更干净整洁的东西,我只是不知道是什么
【问题讨论】:
-
ModelState.IsValid告诉您是否已将任何模型错误添加到ModelState阅读有关 ModelState 的更多信息 -
即使您没有在模型上设置任何属性?
-
如果不出意外,全局操作过滤器可以做到这一点:)
标签: c# asp.net .net asp.net-web-api