Swagger UI Web Api Dokumentation Präsentieren Sie Aufzählungen als Zeichenfolgen?

Gibt es eine Möglichkeit, alle Enums als String-Wert in Swagger anstelle ihres Int-Werts anzuzeigen?

Ich möchte in der Lage sein, POST-Aktionen einzureichen und Aufzählungen gemäß ihrem Zeichenfolgenwert zu platzieren, ohne jedes Mal die Aufzählung überprüfen zu müssen.

Ich habe es versuchtDescribeAllEnumsAsStrings aber der Server erhält dann anstelle des Aufzählungswerts Strings, nach denen wir nicht suchen.

Hat jemand das gelöst?

Bearbeiten

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
}

Antworten auf die Frage(8)

Ihre Antwort auf die Frage