Joh*_*kel 1 .net c# swagger swashbuckle
我有一个包含超过90个表的数据库,这些表都使用外键交叉链接.
当我打开我的API的swagger页面时,加载需要2分钟.原因似乎是它为每个API 生成模型和示例值.由于交叉链接,几乎每个实体都引用其他所有实体(通过递归传递闭包)!
当swagger生成模型和示例值时,有没有办法禁用或限制递归?
例如,
class A {
int id;
List<B> Blist;
}
class B {
int id;
List<C> Clist;
}
class C {
int id;
List<D> Dlist;
}
/// etc...
Run Code Online (Sandbox Code Playgroud)
如果我有一个API,GET /api/A那么我不想把所有的类都放到swagger页面模型中.太大了!我只想拉进A.
你的问题的答案很简短
当swagger生成模型和示例时,有没有办法限制递归?
很不幸的是,不行!
目前没有这样的选择.但这是可能的,我们正在讨论它:
https
://github.com/swagger-api/swagger-ui/issues/4411
在那里添加评论和+1这个问题,让团队知道这对你很重要.
Swagger-UI不能很好地处理复杂的模式,有时只是它会使浏览器崩溃的其他模式很慢,团队意识到并希望我们很快就会得到修复.
现在你的版本(2.x)不再受支持了,所以那里不会有修复......
你试过Swagger-Net吗?这是我的分叉,我正在使用最新版本的UI