我有一個要求,當請求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,但我不確定如何繼續。