首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >模块化:将swagger-ui从swashbuckle中分离出来

模块化:将swagger-ui从swashbuckle中分离出来
EN

Stack Overflow用户
提问于 2015-09-24 07:38:26
回答 1查看 80关注 0票数 4

我最近提议使用swashbuckle将swagger集成到我们的web-apis中,以便在内部向我们的工程师公开APIs功能。出于我们的目的,swagger在生产中没有意义,因为apis是后端的.....作为一个企业环境,API的数量是巨大的,我可以预见两个主要问题:

组装的大小约为2.6MB:假设有数百个集成了swahbuckle的apis,我们所有应用程序的大小突然增加了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集成swagge-ui的影响很大,如果可以选择通过单独的nuget包拉动swagger-ui,效果会好得多。

有没有什么东西可以解决上面的问题,或者我们最好的机会只是简单地分叉和前进,而不是不得不维护它?

EN

回答 1

Stack Overflow用户

发布于 2016-09-13 22:48:12

nuget中,Swashbuckle是作为一个单独的程序集提供的,正如您所提到的,这个程序集非常大。

它实际上捆绑了用于从程序集中呈现Swagger-UI的所有必需的库(例如,jQuery,BackBone...)

下载Swashbuckle使您可以在不嵌入任何库的情况下构建directly from Github,并最终在Swashbuckle.Core/Bin文件夹中作为一个130kb的文件,比nuget版本小20倍。

Swashbuckle的所有功能都保持不变(这是Swagger-UI渲染的一部分,但如果不在SwaggerConfig.cs文件中使用EnableSwaggerUi,这不是问题)

在这种情况下,你只需要获得最新版本的Swashbuckle Github repo,而不需要分支它(因为它直接从它那里工作),这意味着no maintenance

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32751161

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档