Swagger UI嵌套可扩展分组

时间:2016-06-08 13:00:01

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

我正在使用SwaggerUI来记录API端点。目前,它们按控制器名称分组,在一个长列表中。然后,您可以展开每个控制器以查看操作。一切都是标准的。

我想做的是将控制器分组到常见的可扩展组下。

因此,例如,您有一个Pet组,可以展开,以显示Cat和Dog控制器,然后可以扩展它们以显示它们各自的操作。

我尝试使用Tags来实现这一目标,但我能得到的最好的是所有操作都归入一个可扩展组。

有没有人知道标准的swaggerUI是否可行?或者我需要创建自定义HTML来实现这一目标吗?

1 个答案:

答案 0 :(得分:0)

我假设您使用的是Swashbuckle?你需要的是实现IDocumentFilter。查看Swagger 2.0 Spec的标签。

From the docs:

<强>的DocumentFilter

通过连接一个或多个文档过滤器来修改整个Swagger文档。

IDocumentFilter具有以下界面:

void Apply(SwaggerDocument swaggerDoc, SchemaRegistry schemaRegistry, IApiExplorer apiExplorer);

这提供了完全控制来修改最终的SwaggerDocument。您可以从提供的SwaggerDocument(例如版本)和IApiExplorer获取其他背景信息。您应该对Swagger 2.0规范有一个很好的理解。在使用此选项之前。