如何实现在.NET Core中处理自定义属性的Swashbuckle IOperationFilter

问题描述 投票:0回答:1

我已经实现了Swashbuckle.Swagger.IOperationFilter来处理自定义属性,如下所述:https://stackoverflow.com/a/52948376/13087

我现在想对Swashbuckle.AspNetCore 5.0.0做类似的事情。

ApiDescription类似乎没有原始实现中使用的扩展方法GetControllerAndActionAttributes。我尝试通过查看其source code来重新实现它,但是它使用的成员ApiDescription.ActionDescriptor.ControllerDescriptorApiDescription.ActionDescriptor.GetCustomAttributes<TAttribute>对于.NET Core我似乎并不存在。

任何人都可以通过向我展示如何从IOperationFilter获取自定义控制器和操作属性来帮助我入门吗?

更新看起来.NET Framework实现的ActionDescriptor实际上是ReflectedActionDescriptor。此类的构造函数采用MethodInfo,用于查找属性。

但是我看不出有任何方法可以为.NET Core实现MethodInfo获得Microsoft.AspNetCore.Mvc.Abstractions.ActionDescriptor

asp.net-core asp.net-core-2.1 swashbuckle swashbuckle.aspnetcore
1个回答
0
投票
我找到了答案:有一个扩展方法ApiDescription.TryGetMethodInfo将获得MethodInfo,从而可以访问自定义属性。
© www.soinside.com 2019 - 2024. All rights reserved.