ASP.NET MVC 4 を使用して、JSON 構造を受け入れるコントローラーを作成しました。
public class SomeDto {
...
public Boolean IsUnicornAlive { get; set; }
...
}
[HttpPost]
public ActionResult DoSomething(SomeDto dto) {
...
}
この POST リクエストがContent-Type を指定せずに受信された場合:
{
...
"IsUnicornAlive":true
...
}
アクションは引き続き呼び出されますが、IsUnicornAlive プロパティは false になります。基本的に、これはリクエストを作成した側の問題ですが、ASP がそれを黙って処理せず、デフォルト値でアクションを呼び出さないことを期待します。この場合の最も適切な処理は、4xx エラー、理想的には 415 です。それを実装する最も簡単な方法は何ですか?または、コントローラ アクション内でデフォルト値が使用されたことを知る方法はありますか?
注: この質問は、この問題がない ASP.NET WebApi に関するものではありません。これは特にMVCに関するものです。