Анализатор веб-API ASP.NET Core не распознает атрибут ProducesResponseTypeAttribute, примененный в качестве глобального C#

Место общения программистов C#
Anonymous
Анализатор веб-API ASP.NET Core не распознает атрибут ProducesResponseTypeAttribute, примененный в качестве глобального

Сообщение Anonymous »

У меня есть проект веб-API ASP.NET Core 6. Я установил три кода ответа в качестве глобальных фильтров:

Код: Выделить всё

configure.Filters.Add(new ProducesResponseTypeAttribute(StatusCodes.Status401Unauthorized));
configure.Filters.Add(new ProducesResponseTypeAttribute(StatusCodes.Status403Forbidden));
configure.Filters.Add(new ProducesResponseTypeAttribute(StatusCodes.Status500InternalServerError));
В одном из моих контроллеров я делаю

Код: Выделить всё

return Unauthorized();
И это распознается анализатором с помощью

API1000: метод действия возвращает необъявленный код состояния '401'< /p>

Я подумал, что это немного раздражает, но, возможно, это ограничение анализатора, заключающееся в том, что он распознает атрибут ProducesResponseType только в том случае, если он применяется непосредственно к действие контроллера.
Но в другом действии в том же контроллере я делаю

Код: Выделить всё

return Forbid();
и это не помечается таким же предупреждением.
  • Прав ли я, думая, что это ограничение анализатор, что он не распознает атрибут ProducesResponseTypeAttribute, если он применяется в качестве глобального фильтра?
  • Почему несогласованность между Unauthorized() и Forbid()?
Я не хочу отключать предупреждение, потому что считаю полезным напомнить мне, если я забыл объявить код ответа, но неприятно иметь кучу ложных предупреждений.

Подробнее здесь: https://stackoverflow.com/questions/785 ... tribute-ap

Вернуться в «C#»