【发布时间】:2018-04-27 20:43:54
【问题描述】:
我有一个包含 90 多个表的数据库,这些表都通过外键相互交叉链接。
当我打开我的 API 的 swagger 页面时,加载需要 2 多分钟。原因似乎是它为每个 API 生成 Model 和 Example Value。由于交叉链接,几乎每个实体都引用了所有其他实体(通过递归传递闭包)!
当swagger生成Model和Example Value时,有没有办法禁用或限制递归?
例如,
class A {
int id;
List<B> Blist;
}
class B {
int id;
List<C> Clist;
}
class C {
int id;
List<D> Dlist;
}
/// etc...
如果我有一个用于GET /api/A 的 API,那么我不想将所有类都拉到 swagger 页面 Model 中。太大了!!我只想拉A。
【问题讨论】:
-
您使用的是哪个 version of Swagger UI 和 Swashbuckle?您可以尝试在最新版本的 Swagger UI 中加载您的规范,看看是否性能更好?您的 API 定义文件 (YAML/JSON) 有多大?
-
使用 Swashbuckle 5.6.0 和 Swagger-UI 2.0 -- 我认为。
标签: c# .net swagger swashbuckle