.Net Core Swagger не работает с требуемым перечислением?

#asp.net-core #.net-core #swagger

#asp.net-core #.net-core #чванство

Вопрос:

Использование Swashbuckle метода 5.6.3. Controller выглядит следующим образом:

 public async Task<IActionResult> GenerateTokenAsync([FromForm] TokenCredentials tokenCredentials)
  

TokenCredentials похоже:

     [Required]
    public GrantType? grant_type
    {
        get;
        set;
    }
  

GrantType похоже:

 public enum GrantType
{
    client_credentials = 0
}
  

Перечисление отображается в Swagger и отображается по мере необходимости, но когда я нажимаю кнопку execute, я получаю красный отскок смерти. Если я сниму требуемое, оно будет выполнено. Я тоже пробовал NotNull , но это все равно пропустило.

Я что-то упустил?

Ответ №1:

Вы можете использовать Swashbuckle.AspNetCore 5.5.0, все в порядке. Вот официальный документ

Результат: введите описание изображения здесь

Или вы можете удалить [FromForm] в Swashbuckle 5.6.3.

Комментарии:

1. Также не работает в 5.5.0, и вы не можете удалить [FromForm], иначе он станет параметром запроса.

2. Я следую руководству официального документа с помощью Swashbuckle. AspNetCore 5.5.0.It может сработать.

3. Хм… Я попробовал еще раз… пришлось очистить кеш моего браузера. 5.5x позволяет отправлять запрос, но он сломан по-другому. Он не обеспечивает выполнение требуемого в пользовательском интерфейсе Swagger, он позволяет службе выполнить запрос с ошибкой.