Как мне установить ProducesResponseType для всех контроллеров в моем приложении? - PullRequest
0 голосов
/ 15 февраля 2019

У меня есть промежуточное ПО, которое обрабатывает все необработанные исключения и возвращает

public class ErrorResponseModel { 
  public string ErrorMessage { get; set; } 
}

Мне нравится добавлять [ProducesResponseType(typeof(ErrorResponseModel), 500)] ко всем моим контроллерам, но я не понимаю, как это сделать один раз (без дублирования)или введение базового класса для всех моих контроллеров).

1 Ответ

0 голосов
/ 15 февраля 2019

Добавьте его в качестве глобального фильтра, например так:

public void ConfigureServices(IServiceCollection services)
{
    services.AddMvc(o =>
    {
        o.Filters.Add(new ProducesResponseTypeAttribute(typeof(ErrorResponseModel), 500));
    })
}

По сути, это то же самое, что и применение ко всем контроллерам.

...