【发布时间】:2026-01-15 16:25:01
【问题描述】:
在 C# 中构建 API 层,并同时使用 Swagger 和 Swashbuckle 作为文档。到目前为止,我很喜欢它!只有一个问题。
默认情况下,API 的分层是两层。示例...这些是当前可用的 API,扩展了 Access Integration: Integration Settings:
我想弄清楚的是如何拥有一个 Access Integration 分组,当点击它时,会显示这些控制器:
- 集成
- 同步用户
- 同步门
- 访问事件
然后您可以深入了解任何一个控制器以查看其中的方法。所以,基本上,三层而不是两层。
这可能吗?我一直在看这个问题:Grouping of API methods in documentation - is there some custom attribute,但这并没有让我到达那里。我一直在试图弄清楚如何使用它:
c.GroupActionsBy(apiDesc => apiDesc.HttpMethod.ToString());
但我没有找到任何如何使用它的示例。
我试过了:
[SwaggerOperation(Tags = new[] { "Access Integration", "Sync Doors" })]
和
[SwaggerOperation(Tags = new[] { "Access Integration", "Sync Users" })]
但这只是列出了每个控制器两次,一次在“访问集成”下,一次在“同步用户”下。
【问题讨论】:
-
标准 Swagger UI 不支持嵌套组(标签)。如果你需要这个,你需要修改 Swagger UI 源代码来实现你的自定义分组逻辑。
标签: c# .net swagger swashbuckle