我已经实现了一个Swashbuckle.Swagger.IOperationFilter
来处理自定义属性,如下所述:https ://stackoverflow.com/a/52948376/13087
我现在想做类似的事情Swashbuckle.AspNetCore 5.0.0
。
该类似乎ApiDescription
没有GetControllerAndActionAttributes
在原始实现中使用的扩展方法。我尝试通过查看它的源代码来重新实现它,但它使用成员ApiDescription.ActionDescriptor.ControllerDescriptor
并且ApiDescription.ActionDescriptor.GetCustomAttributes<TAttribute>
我似乎不存在于 .NET Core 中。
任何人都可以通过向我展示如何获取自定义控制器和操作属性来帮助我入门IOperationFilter
吗?
更新
看起来 .NET Framework 实现有一个ActionDescriptor
实际上是ReflectedActionDescriptor。这个类有一个构造函数,它接受一个MethodInfo
用于查找属性的构造函数。
但我看不到任何方法来获得MethodInfo
.NET Core 实现Microsoft.AspNetCore.Mvc.Abstractions.ActionDescriptor。