如何解决使用nswag生成包含swashbuckle自定义操作过滤器的openAPI文档
我在ASP.NET MVC应用程序中使用Swashbuckle,该应用程序配置有其他操作过滤器,如下所示:
GlobalConfiguration.Configuration
.EnableSwagger(c => {
c.OperationFilter<FooOpeartionFilter>();
c.OperationFilter<BarOpeartionFilter>();
//other confs
...
在我的.NET客户端应用程序中,我想基于包含控制器定义的.NET MvcApplication.dll
自动创建API客户端代码。
为此,我使用NSWAG。我首先运行webapi2openapi生成openapi.json文档
nswag webapi2openapi /assembly:MvcApplication.dll /output:MvcApplication.OpenApi.json
,然后用于创建客户端c#代码:
nswag run configuration.nswag
configuration.nswag
指向MvcApplication.OpenApi.json
"documentGenerator": {
"fromDocument": {
"url": "PATH\MvcApplication.OpenApi.json"
}
},
,但是创建的openAPI文档MvcApplication.OpenApi.json
缺少对其他OperationFilters
提供的API的更改。据我了解,这是可以预期的,因为操作过滤器是在ASP .NET应用程序启动时添加的,并且我们是从静态.dll创建的.json。
是否有一种方法可以基于MvcApplication.OpenApi.json
将操作过滤器包括到创建的MvcApplication.dll
中?这可能吗?我在nswag help
中搜索了答案并导航到Command: webapi2openapi
,但是似乎没有列出的参数添加了这些操作过滤器。还是应该更改ASP .NET代码并使用NSWAG而不是swashbuckle?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。