首页 > 解决方案 > 如何为我的应用程序中的所有控制器设置 ProducesResponseType?

问题描述

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

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

我喜欢添加[ProducesResponseType(typeof(ErrorResponseModel), 500)]到我所有的控制器中,但我不明白如何做一次(没有为我的所有控制器复制或引入基类)。

标签: asp.net-coreswashbuckle

解决方案


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

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

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


推荐阅读