C# 具有.NET核心和json验证的WebApi
我正在使用.NETCore2.0创建一些WebAPI。我对验证有问题C# 具有.NET核心和json验证的WebApi,c#,json,asp.net-core-webapi,C#,Json,Asp.net Core Webapi,我正在使用.NETCore2.0创建一些WebAPI。我对验证有问题 [HttpPost] public async Task<IActionResult> RegisterUser([FromBody] RegistrationModel model) { if (model != null && ModelState.IsValid) { // model is valid } } 如果我传递这个json,就有一个完美的匹
[HttpPost]
public async Task<IActionResult> RegisterUser([FromBody] RegistrationModel model) {
if (model != null && ModelState.IsValid)
{
// model is valid
}
}
如果我传递这个json,就有一个完美的匹配
{
"emailAddress" : "test.email@gmail.com",
"userCustomerId" : "b1cb8805-2a59-428e-9c2a-ec663093f84f"
}
我的问题是,如果我传递一个带有额外字段的json,模型仍然有效
{
"emailAddress" : "test.email@gmail.com",
"userCustomerId" : "b1cb8805-2a59-428e-9c2a-ec663093f84f",
"extraField": "Hello!"
}
基本上,webapi忽略了这个额外的字段,但我想发回一个错误,比如Model是无效的
我如何实现这一点?这被称为套印,可以在这里找到一些缓解策略: 您可以添加自定义模型绑定或自定义Json反序列化以防止过度伪装,但在我看来这并不值得——请确保您的模型不易受到攻击,然后继续 为什么?
{
"emailAddress" : "test.email@gmail.com",
"userCustomerId" : "b1cb8805-2a59-428e-9c2a-ec663093f84f",
"extraField": "Hello!"
}