如何为我的应用程序中的所有控制器设置 ProducesResponseType?

How do I set ProducesResponseType for all controllers in my app?

我有处理所有未处理异常的中间件和 returns

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

我想将 [ProducesResponseType(typeof(ErrorResponseModel), 500)] 添加到我所有的控制器,但我不知道如何做一次(w/o 复制或引入基础 class 我所有的控制器) .

像这样将其添加为全局过滤器:

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

这与应用于所有控制器基本相同。