首页 新闻 会员 周边

WebApi分组后怎么在全局Filter中区分所在的组名

0
悬赏园豆:10 [已解决问题] 解决于 2019-12-06 13:53

asp.net core webapi项目,项目中已使用Swagger实现分组显示,分组方式是给Controllers或Action添加[Route("api/open"), ApiExplorerSettings(GroupName = "ApiGroupName")]方式实现。

先前项目有两个全局的Filter用来处理ModelState和Exception用于对返回的数据封装为指定的格式,定义如下:

现在的问题是,我想在新加入的分组中的api中使用不同的返回格式,怎么在IAsyncExceptionFilter 和 IAsyncActionFilter 继承类中取到ApiExplorerSettings中定义的组名。

Adming的主页 Adming | 初学一级 | 园豆:119
提问于:2019-12-05 15:20
< >
分享
最佳答案
1

类似代码应该可以判断
if (context.ActionDescriptor is ControllerActionDescriptor contextActionDescriptor)
{
var attributes = contextActionDescriptor.MethodInfo.GetCustomAttributes();
}

收获园豆:10
通信的搞程序 | 小虾三级 |园豆:1747 | 2019-12-05 22:18

嗯嗯,就是这样了,就是不知道怎么获取到 ControllerDescriptor 信息,原来还可以 context.ActionDescriptor is ControllerActionDescriptor ,学到了。

Adming | 园豆:119 (初学一级) | 2019-12-06 13:52
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册