前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Swagger生成了几百兆的文档,该转移阵地了?

Swagger生成了几百兆的文档,该转移阵地了?

作者头像
xjjdog
发布2019-09-24 16:20:23
7220
发布2019-09-24 16:20:23
举报
文章被收录于专栏:架构专题

流年不利流年不利啊。项目写的太傻,庞大到生成了几百兆的Swagger文档。 通常,有个几兆就到了忍受极限了,这直接爆出几百兆。

问题源于这么一篇文章:小技巧:SpringBoot项目如何让前端开发提高效率?。其中提到使用swagger可以让前端、后端、QA、产品互动起来,很多研发已经用了。但有些项目生成的文章忒TM大了(抱歉我控制不住),在让这些项目愉快的go die之前,还是得想办法处理呀。

接口减肥

第一就是过滤减肥。 看一下你的Controller里写的是不是

代码语言:javascript
复制
@RequestMapping

这个注解将会生成7条api信息 GET、HEAD、POST、PUT、DELETE、OPTIONS、PATCH

如果你能够确定调用方法,比如GET,请将注解改成

代码语言:javascript
复制
@GetMapping

不要有循环引用

返回的实体,还有请求的参数,不要循环引用。请干掉这些代码,不要邋遢,设计一点干净的api。

转线下

另一种思路就是把这些api都给捣鼓到线下,倒入到一个统一的地方进行管理。 这些也已经有很多产品了,比如Rap、Nei、YApi。

拿YApi来说(支持源码搭建),可以输入相应swagger的地址,进行一次导入,就可以将api定义转到另一个平台了。

YApi还有权限管理功能,应该是这里面做的最Nice的了。如果你想要统一管理、内网隔离,推荐一试。好东西,就不多介绍了。

结尾

转到线下虽然解决了因为api过大造成的服务不稳定,但api的更新同步会是另外一个问题。

不管采用何种方式,合理简洁的api设计是首要的。调用方法固定,不循环引用,最重要的,记得分模块哦。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-11-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 小姐姐味道 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 接口减肥
  • 不要有循环引用
  • 转线下
  • 结尾
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档