クラスインスタンスをコントローラに送信し、そのクラスのプロパティがEnum型であるとします。Web api 2のオブジェクトパラメータの列挙型の検証
public class CoffeeController : ApiController
{
[HttpPost]
public async Task<IHttpActionResult> OrderAsync(Order request)
{
return Ok();
}
}
public enum CoffeeType
{
Latte,
Mocha,
Espresso
}
public class Order
{
public CoffeeType Type { get; set; }
public string Name { get; set; }
}
要求の列挙型メンバーの名前にエラーがある場合、アプリケーションは例外をスローしません。代わりにデフォルトのenum値を使用します。
{"name":"Dan", 'type':"ocha"}=>{"Name":"Dan", "Type":"Latte"}
これは私にとって奇妙なことです。 なぜこのような動作が使用されていますか?
エラーを発生させるエレガントな方法はありますか?