У меня есть ASP. NET Core Web API 3 приложение, которое реализует REST API и использует токен-носитель JWT для авторизации, и Swagger (Swashbuckle).
Мой контроллер имеет [Authorize ] отфильтруйте его, например:
[ApiController]
[Route("api/[controller]")]
[Authorize]
public class MyController : ControllerBase
{
}
Swagger работает с моим API, и я могу сгенерировать токен JWT и передать его Swagger, и все это работает хорошо.
Но если я попытаюсь используйте Swagger, чтобы поразить одну из моих конечных точек REST без токена JWT или недопустимого токена JWT. Интерфейс Swagger показывает ошибку 401 Недокументированный , но все примеры, которые я вижу в Интернете, показывают, что я должен получить 401 Несанкционированный .
(Когда я нажимаю на тот же URL-адрес с Почтальоном, он показывает 401 Несанкционированный.)
Прежде чем я начну что-то копировать, любые идеи, почему я мог бы быть недокументированным вместо несанкционированного?
Вот что я вижу:
Когда я добавляю атрибут, предложенный ниже
(ProducesResponseType(typeof(ProblemDetails), (int)HttpStatusCode.Unauthorized)])
Я вижу это: