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

时间:2019-02-15 10:15:03

标签: asp.net-core swashbuckle

我有处理所有未处理的异常并返回的中间件

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

我喜欢将[ProducesResponseType(typeof(ErrorResponseModel), 500)]添加到我的所有控制器中,但是我不知道该怎么做一次(不为我的所有控制器复制或引入基类)。

1 个答案:

答案 0 :(得分:2)

将其添加为全局过滤器,如下所示:

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

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