すべての列挙型を int 値ではなく文字列値として表示する方法はありますか?
POST アクションを送信し、その文字列の値に応じて列挙型を配置できるようにしたいのですが、毎回列挙型を確認する必要はありません。
試してみDescribeAllEnumsAsStrings
ましたが、サーバーは探しているものではない列挙値の代わりに文字列を受け取ります。
誰かがこれを解決しましたか?
編集:
public class Letter
{
[Required]
public string Content {get; set;}
[Required]
[EnumDataType(typeof(Priority))]
public Priority Priority {get; set;}
}
public class LettersController : ApiController
{
[HttpPost]
public IHttpActionResult SendLetter(Letter letter)
{
// Validation not passing when using DescribeEnumsAsStrings
if (!ModelState.IsValid)
return BadRequest("Not valid")
..
}
// In the documentation for this request I want to see the string values of the enum before submitting: Low, Medium, High. Instead of 0, 1, 2
[HttpGet]
public IHttpActionResult GetByPriority (Priority priority)
{
}
}
public enum Priority
{
Low,
Medium,
High
}