.NET Core 2.1 Swashbuckle - 按区域对控制器进行分组

2023-12-22

我的情况比较简单。我有一个非常大的.NET Core 2.1 MVC/WebApi,分为几个区域,代表我系统的不同模块。我使用 Swagger (SwashBuckle),效果非常好。我的路由就像{area}/{controller}/{action}.

在 Swagger UI 中,每个操作都分组到控制器中(标准行为)。我的控制器和操作列表变得非常非常大并且难以掌握。因此,如果 Swagger 能够将我的控制器划分为不同的区域,我会很高兴!使崩溃成为可能area x以及其中的每个控制器area x.

我真的很怀念这个功能或者自己实现它的方法!任何想法表示赞赏!

UPDATE

我尝试过用标签来注释操作。

这给了我:

- Area 1
    - MethodFromControllerA()
    - MethodFromControllerB()
- Area 2
    - MethodFromControllerC()
    - MethodFromControllerD()

我想要的是:

- Area 1
    - ControllerA
        - MethodFromControllerA()
    - ControllerB
        - MethodFromControllerB()
- Area 2
    - ControllerC
        - MethodFromControllerC()
    - ControllerD
        - MethodFromControllerD()

Update 2

另一种选择是为我的每个区域制定多个规格。就像每个区域都有不同的 Swagger UI。可能的?


你首先需要安装注释 https://github.com/domaindrivendev/Swashbuckle.AspNetCore#swashbuckleaspnetcoreannotations并在您的启动中启用它们:

services.AddSwaggerGen(c =>
{
   c.EnableAnnotations();
});

然后您需要将“区域”作为标签添加到每个操作中。

[SwaggerOperation(
    Tags = new[] { "Area51" }
)]

当您打开 swagger ui 时,它现在应该自动按标签分组(默认情况下,控制器名称是所选标签)。

目前,现有的 swagger ui 生成器无法开箱即用地进一步嵌套端点分组。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

.NET Core 2.1 Swashbuckle - 按区域对控制器进行分组 的相关文章

随机推荐

  • Opera Unite 和 Node.js 有什么区别?

    两者似乎都允许完全使用 JavaScript 编写应用程序 两者都允许服务器端 JS 和客户端 JS 那么 从技术和编程的角度来看 两者有什么区别呢 Opera Unite 是一种协作技术 它使用 Opera 桌面浏览器内的紧凑型服务器来共
  • 查询矩形集合以查找输入矩形的重叠

    在多维空间中 我有一组矩形 所有矩形都与网格对齐 我宽松地使用 矩形 这个词 在三维空间中 它们将是矩形棱柱 我想查询此集合中与输入矩形重叠的所有矩形 保存矩形集合的最佳数据结构是什么 我会不时地向集合中添加矩形和从集合中删除矩形 但这些操
  • 监听键盘事件而不捕获它们?

    我正在编写一个命令行应用程序 它侦听 X Windows 中的 Control 键释放事件 并在检测到这些事件时向另一个进程发出警报 作为 GNU Linux 的新手 我宁愿避免摸索 GCC 因此我正在寻找基于脚本的解决方案 由于我对 Py
  • 是否可以在运行时更改 AWS Lambda 的日志级别?

    我在 AWS 上运行 lambda 并使用 slf4j 进行日志记录 项目要求的一部分是可以使用环境变量在运行时设置日志级别 但我不确定这是否可能 我使用以下代码 但将 UI 中的环境变量 LOG LEVEL 更改为 DEBUG 对添加到
  • DBMS_XPLAN.DISPLAY_CURSOR 与解释计划(如果不使用 Gather_plan_statistics 提示)

    只是要求澄清两者之间的区别 据我所知 解释计划为您提供了理论的执行计划 而 DBMS XPLAN DISPLAY CURSOR 为您提供actual带有语句执行统计信息的执行计划 EXPLAIN PLAN 将此数据存储在 PLAN TABL
  • Blazor onclick 事件从循环传入计数器

    我目前正在通过 Blazor 中的本地解决方案实现表分页 但遇到了一些困难 麻烦的代码如下 用于渲染网格下方的分页按钮 for int i 0 i lt vm TotalPages i
  • easy_install 安装了各种版本的 python、mac osx

    我在 mac OSX 10 6 机器上有各种版本的 python 其中一些安装了 macports gt python select l Available versions current none python24 python26 p
  • 如何防止命令行参数由 R 解释而不是仅由我的脚本解释?

    我正在使用docopt https github com docopt docopt RR 的实现 我的脚本有一个命令行选项 其缩写形式为 g 当我运行我的脚本时 似乎这个参数首先由 R 解释 然后由我的脚本解释 因此 我因为没有为 GUI
  • SoapClient 尝试获取架构文件时出现 401 身份验证错误

    我的应用程序通常连接到第三方服务器以通过 SOAP WSDL 获取数据 this gt soap client new SoapClient https the domain 443 path wsdl array trace gt 1 l
  • 如何优化 EF Code First 查询?

    已更新 请参阅底部的更新 我使用 EF 代码优先 并且总体上对此感到满意 然而 一个简单 且常见 的操作导致 EF 生成极其复杂的 SQL 这降低了我的应用程序的速度 我只是使用 整数 ID 列表来获取一组实体 但因为我需要大量子实体的详细
  • 在 C++ 中前向声明静态 C 结构实例

    我正在编写一个代码生成器 实际上是一个数据生成器 它将生成这种形式的数据结构 显然实际的数据结构要复杂得多 typedef struct Foo int a struct Foo foo Foo extern Foo f1 extern F
  • 使用 Pandas Excelwriter 写入 StringIO 对象?

    我可以将 StringIO 对象传递给 pd to csv 就好 io StringIO StringIO pd DataFrame to csv io 但是当我使用excel writer时 我遇到了很多麻烦 io StringIO St
  • jQuery serializeArray() 键值对

    我在序列化表单时遇到了一些麻烦
  • Bootstrap 一次轮播多个框架

    这是我试图用 Bootstrap 3 轮播实现的效果 它不是一次只显示一帧 而是并排显示 N 帧 然后 当您滑动 或自动滑动时 时 它会像以前一样移动幻灯片组 这可以吗与 bootstrap 3 的轮播 我希望我不必去寻找另一个 jQuer
  • 检查 MongoDB 文档中是否存在多个字段

    我正在尝试查询一个数据库集合 该集合保存具有特定字段的文档的流程文档 为简单起见 想象以下通用文档模式 timestamp ISODate result1 pass result2 fail 现在 当一个进程启动时 会插入一个仅包含时间戳的
  • 在继续当前脚本的同时异步运行单独的 PowerShell 脚本

    PowerShell 脚本 1 执行以下操作 Performs FTP ops ending with saving updated remote directory data in a local file 该脚本快速运行 直到必须使用
  • WPF 全局字体大小

    我正在创建一个 WPF 应用程序 我想知道能够更改 ui 中每个元素的字体大小的最佳方法 我是否创建资源字典并设置样式来设置我使用的所有控件的字体大小 最佳实践是什么 我会这样做
  • CSS3 月亮形状

    我正在尝试创建一个像这样的按钮 我不知道如何在按钮顶部创建一个浅月形状 这还很遥远 小提琴演示 https jsfiddle net wgnp9ygh 2 moon width 50px height 50px border radius
  • 软删除 - 使用 IsDeleted 标志还是单独的连接表?

    我们应该使用软删除标志还是单独的连接表 哪个更有效率 数据库是SQL Server 背景资料 不久前 我们有一位数据库顾问进来查看我们的数据库架构 当我们软删除一条记录时 我们将更新相应表上的 IsDeleted 标志 有人建议不要使用标志
  • .NET Core 2.1 Swashbuckle - 按区域对控制器进行分组

    我的情况比较简单 我有一个非常大的 NET Core 2 1 MVC WebApi 分为几个区域 代表我系统的不同模块 我使用 Swagger SwashBuckle 效果非常好 我的路由就像 area controller action