假设验证码:ASP.NET核心 - 如何认识反序列化已经通过中间件失败
public class Test
{
public DateTime Date { get; set; }
public string Title { get; set; }
}
[HttpPut, Route("test")]
public IActionResult test([FromBody]Test Data)
{
....
}
如果用户提供在体内无效JSON,数据将是无效的。
有没有一种方法可以在代码执行之前捕捉到它,所以我不必在每个API方法上测试null值?
我一直在想它可能作为一个中间件可行,但我没有经验,所以我不确定。
您应验证模型数据。如果属性是必需的,你应该标记它们,然后验证过程('ModelState.IsValid')会告诉你它是否正确。 – poke
但这意味着我需要为每个调用添加一个“if(ModelState.IsValid)...”;我试图找到是否可以在管道中捕获并从单个位置返回一个通用错误 – Thomas