是否可以为Swashbuckle CustomAsset指定多个程序集?

时间:2018-02-14 15:52:54

标签: c# rest asp.net-web-api2 swagger-2.0 swashbuckle

我正在使用Swashbuckle将我们的API的Swagger文档嵌入到.NET Web API 2.2应用程序(.NET 4.5)中。到目前为止,所有控制器都存在于主Web API DLL中,但是当我们开始构建API时,我们将不同的版本API移动到单独的dll中。

在Swashbuckle中指定自定义资源时,可以为资源路径指定1个程序集,例如“v1” - > V1Assembly。但是,我希望支持用户能够查看所有版本和程序集中的所有API端点的能力。如何使用Swashbuckle确保此功能可行?基本上,我希望帮助系统上的“全部”或“索引”端点显示所有版本化程序集中的所有潜在API资源。

我的想法是一个新功能,它扩展了SwaggerUiConfig,允许CustomAsset接受一个程序集数组,而不只是一个程序集,这样我们就可以查询多个程序集来生成文档而不是单个文档。

有关如何在SwaggerConfig中完成此操作的任何想法吗?

1 个答案:

答案 0 :(得分:2)

如果我在开始版本控制时理解正确,您最终会使用多个Web API。

您应该考虑使用aspnet-api-versioning来重构您的代码 您需要在控制器中执行的操作是使用以下内容识别它们:
[ApiVersion( "AreaOne" )]
https://github.com/Microsoft/aspnet-api-versioning/wiki/How-to-Version-Your-Service
因为Swashbuckle得到了全力支持。