自定义 SwaggerDocument 生成
Customize SwaggerDocument generation
我编写了一个 ASP.NET 应用程序,可以根据脚本动态生成 RESTful Web 服务。有一个根控制器 (/dataserver),之后的一切都取决于脚本。该脚本允许您指定自定义处理程序,例如从数据库获取数据的处理程序。
因此 api 的结构不固定。只有一个控制器。我正在使用 Swashbuckle.AspNet.Core,当它运行时,它只会为该控制器构建一个 swagger 文档。我想做的是拦截 swagger 文档的生成,以便我可以将 Web 服务的结构添加到文档中。
我花了一些时间研究 Swashbuckle,但我不知道如何连接到文档生成以便我可以填充。谁能指出我正确的方向?
我看到的唯一选择是使用 IDocumentFilter
修改生成的文档。
repo 上有几个例子:
- https://github.com/domaindrivendev/Swashbuckle.AspNetCore/blob/b64b8fd6fbc7959849445be676f5e3d4a8e947bf/test/Swashbuckle.AspNetCore.SwaggerGen.Test/Fixtures/Extensions/VendorExtensionsDocumentFilter.cs
- https://github.com/domaindrivendev/Swashbuckle.AspNetCore/blob/e2f30e04f412b821a5a989338a186e422c776cc4/src/Swashbuckle.AspNetCore.Annotations/AnnotationsDocumentFilter.cs
- https://github.com/domaindrivendev/Swashbuckle.AspNetCore/blob/b64b8fd6fbc7959849445be676f5e3d4a8e947bf/src/Swashbuckle.AspNetCore.SwaggerGen/XmlComments/XmlCommentsDocumentFilter.cs
恐怕这些示例对于您要实现的目标来说太简单了...
但希望他们能推动您朝着正确的方向前进
我编写了一个 ASP.NET 应用程序,可以根据脚本动态生成 RESTful Web 服务。有一个根控制器 (/dataserver),之后的一切都取决于脚本。该脚本允许您指定自定义处理程序,例如从数据库获取数据的处理程序。
因此 api 的结构不固定。只有一个控制器。我正在使用 Swashbuckle.AspNet.Core,当它运行时,它只会为该控制器构建一个 swagger 文档。我想做的是拦截 swagger 文档的生成,以便我可以将 Web 服务的结构添加到文档中。
我花了一些时间研究 Swashbuckle,但我不知道如何连接到文档生成以便我可以填充。谁能指出我正确的方向?
我看到的唯一选择是使用 IDocumentFilter
修改生成的文档。
repo 上有几个例子:
- https://github.com/domaindrivendev/Swashbuckle.AspNetCore/blob/b64b8fd6fbc7959849445be676f5e3d4a8e947bf/test/Swashbuckle.AspNetCore.SwaggerGen.Test/Fixtures/Extensions/VendorExtensionsDocumentFilter.cs
- https://github.com/domaindrivendev/Swashbuckle.AspNetCore/blob/e2f30e04f412b821a5a989338a186e422c776cc4/src/Swashbuckle.AspNetCore.Annotations/AnnotationsDocumentFilter.cs
- https://github.com/domaindrivendev/Swashbuckle.AspNetCore/blob/b64b8fd6fbc7959849445be676f5e3d4a8e947bf/src/Swashbuckle.AspNetCore.SwaggerGen/XmlComments/XmlCommentsDocumentFilter.cs
恐怕这些示例对于您要实现的目标来说太简单了...
但希望他们能推动您朝着正确的方向前进