我最近提议使用 swashbuckle 将 swagger 集成到我们的 web-apis 中,以便在内部向我们的工程师公开 API 功能。出于我们的目的,swagger 在生产中没有意义,因为 api 是后端.....作为企业环境,api 的数量很大,我可以预见两个主要问题:
程序集大小约为 2.6MB:假设使用 swahbuckle 构建数百个 api,突然我们所有应用程序的大小增加了 4.5 倍。不合理的打击。查看 swashbuckle.core,我怀疑大部分大小来自捆绑的 swagger-ui。是否可以将 swagger-ui 从 swashbuckle 中解开,而是允许通过单独的 nuget 包添加 swagger-ui。
swashbuckle 中捆绑的 swagger-ui 让每个 api 都有自己的 swagger-ui 实例。对 swagger-ui 进行的任何定制对其他项目都没有影响,除非对每个单独的 api 项目都进行了更改,从而增加了工作量并降低了可维护性的机会。我们集中托管 swagger-ui 并进行定制,以允许开发人员在本地 (localhost) 尝试他们的 swagger 实现,因此受到 swashbuckle 集成 swagger-ui 的极大影响,如果可以选择将 swagger-ui 通过可选的单独的 nuget 包。
是否有任何东西可以解决上述问题,或者我们最好的机会是简单地分叉并以必须维护它为代价继续前进?