Есть ли способ показать все перечисления как их строковое значение в swagger вместо их значения int?
Я хочу, чтобы иметь возможность отправлять POST-действия и помещать перечисления в соответствии со своим строковым значением, не просматривая каждый раз перечисление.
Я попробовал DescribeAllEnumsAsStrings
, но затем сервер получает строки вместо значения перечисления, которое не то, что мы ищем.
Кто-нибудь решил это?
Edit:
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
}