我的情况比较简单。我有一个非常大的.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(使用前将#替换为@)