WebApi に小さな問題があります。
問題: JSON を使用してモデルを投稿したい場合、モデルで定義されたメンバーが存在する限り、必要な数のメンバーを追加できます。
質問: Json オブジェクトに未定義のメンバーが存在する場合、どうすれば例外をトリガーできますか。これは、カスタム JsonConverter なしで達成できますか? 私が探しているのは、さまざまなモデルごとの変換ではなく、一般的なソリューションです。
例:
モデル:
public class Person
{
[Required]
public string Name { get; set; }
}
API コントローラー:
public class PersonController : ApiController
{
public HttpResponseMessage Post(Person person)
{
if (person != null)
{
if (ModelState.IsValid)
{
//do some stuff
return new HttpResponseMessage(HttpStatusCode.OK);
}
}
return new HttpResponseMessage(HttpStatusCode.BadRequest);
}
}
Json 投稿 (本文)
{"Name":"Joe"}
--> 有効
{"Name":"Joe","InvalidMember","test","Name","John"}
--> こちらも有効。この場合、例外をトリガーしたいと思います。あなたがそれを見ると、それは私のモデル定義と正確に一致しないからです.