我有一个要求,当请求Json包含重复键时,从ASP.NET Web API Post请求返回400错误。如何检测Web API中的重复键发布请求Json
例如,如果请求是
{
"key1": "value1",
"key2": 1000,
"key2": 2000,
"key3": "value3"
}
那么我希望错误被抛出,由于是有两个“KEY2”键。
我控制器的方法看起来像
[HttpPost]
public IHttpActionResult PostMethod([FromBody]RequestModel request)
{
.....
}
和我RequestModel模型像
public class RequestModel
{
[Required]
public string Key1 {get; set; }
[Required]
public int Key2 {get; set; }
public string Key3 {get; set; }
}
在上面的例子中的JSON序列似乎乐意与2000年接受请求并填充键2,或任何密钥的最后一个实例是。
我想我需要做的事情涉及JsonSerializerSettings类,或实现一个自定义的JsonConverter,但我不确定如何继续。