C# 当正文包含额外字段时,在验证时返回错误的请求

C# 当正文包含额外字段时,在验证时返回错误的请求,c#,validation,asp.net-core,C#,Validation,Asp.net Core,在asp.net core、jsonserializer或FluentValidation中,如果正文包含不属于此方法所用模型的额外字段,是否有方法在POST/PATCH/PUT中返回400错误请求 举个小例子(c#): 作为json { "name": "stackoverflow" } 所以上面的json很好,但是如果我们接收到这样的主体,我们希望返回400个错误请求 { "name": "stackoverflow", "extra": "data" } 模型上没有额外的属

在asp.net core、jsonserializer或FluentValidation中,如果正文包含不属于此方法所用模型的额外字段,是否有方法在POST/PATCH/PUT中返回400错误请求

举个小例子(c#):

作为json

{
  "name": "stackoverflow"
}
所以上面的json很好,但是如果我们接收到这样的主体,我们希望返回400个错误请求

{
  "name": "stackoverflow",
  "extra": "data"
}
模型上没有额外的属性

我们是否需要深入研究jsonserializer,以验证主体细节,或者框架中是否有一些扩展点来处理这种情况


为了简单起见,我们使用json实体和FluentValidation来验证模型。

您可以尝试使用,它们在模型绑定之前执行,因此您可以检查是否存在其他字段。如果您担心输入json正文太大,可以限制它的大小。您打算如何从客户端接收原始json字符串形式的POST数据,还是使用模型绑定?模型绑定器和/或类似于
JsonConvert
的东西只会丢弃任何额外的内容,因此包含不必要的,JSON请求正文中的额外内容。如果您真的想强制执行此操作,那么您可能需要定制中间件或@SlavaUtesinov建议的资源过滤器,但实际上不需要。您可以尝试使用,它们在模型绑定之前执行,因此您可以检查是否存在其他字段。如果您担心输入json正文太大,可以限制它的大小。您打算如何从客户端接收原始json字符串形式的POST数据,还是使用模型绑定?模型绑定器和/或类似于
JsonConvert
的东西只会丢弃任何额外的内容,因此包含不必要的,JSON请求正文中的额外内容。如果您真的想实施这一点,那么您可能需要定制中间件或@SlavaUtesinov建议的资源过滤器,但实际上不需要这样做。
{
  "name": "stackoverflow",
  "extra": "data"
}