jazzyviewpagerdvd,《jazzyviewpagerDVD


【jazzyviewpagerdvd,《jazzyviewpagerDVD】做api接口管理yapi和showdoc哪个好?为什么?

jazzyviewpagerdvd,《jazzyviewpagerDVD


推荐YApi做接口管理平台!下面说说为什么要用YApi做接口管理平台 。前言 随着 Web 技术的发展,前后端分离构架变的越来越流行 。前后端分离使后端专注于数据处理和定义前端所需要的接口,前端负责数据的展现和交互,大大细化了开发者的职责,提高了开发效率,但与此同时也带来了一些问题: 对于前端工程师,后端提供的接口文档,大多是不规范的,有使用 wiki 的,有 word 文档的,甚至还有用即时聊天软件沟通的,后端接口对于前端就像一个黑盒子,经常遇到问题是接口因未知原因增加参数了,参数名变了,参数被删除了 。
对于后端工程师,接口对接时总是需要写冗杂繁琐的文档,需要大量时间去维护接口文档 。前端开发的功能在后端功能还没完成前,因为前端的功能依赖于后端的数据,导致工作无法顺利展开 。为了解决这个问题,有些前端工程师在代码注入 json,还有后端工程师临时搭建一套测试数据服务器,这种情况下势必会影响工作效率和代码质量,也不能及时进行字段的更新 。
接口数据正确性无法得到保证 。前端调用后端的接口数据渲染到 视图,数据一旦出错,将会导致视图和交互也出现问题,保证后端接口数据正确性变的愈来愈重要 。接口自动化测试就是用来解决这个问题,但传统的接口测试框架使用成本很高,很多团队采用肉眼比对方式,效率很低 。相关产品调研Nei 是网易前端事业部的产品,在这些产品中算是做得比较好的, nei 是专注做 saas 服务这块,没有开源版本 。
对于去哪儿内部,肯定不会把公司机密的接口数据放到第三方平台 。Rap 是阿里妈妈 MUX 团队2013年出的一款产品,从时间上看是同类产品中最早的 。Rap 是后端工程师基于 java 开发的,如果想定制部分功能,还需要学习 java,而我们部门大家对 java 都不熟悉 。另一方面 Rap 没有接口测试功能,而后端使用其他工具(postman, restlet)测试接口,将导致不能及时更新接口文档 。
Easy-mock 是大搜车无线团队出的一款产品,Easy-mock 定位是接口数据的模拟,解决前端依赖后端接口数据的问题,在同类产品中 mock 服务做得比较好 。Easy-mock 专注于前端数据的模拟,但无法解决去哪儿现有的问题 。Nei,Rap 接口管理平台共同存在的问题是不易维护接口返回数据 。笔者曾跟一个使用过 Rap 的后端工程师聊过,他说每次定义后端接口返回数据字段,好几个百个字段需要更新很长时间 。
Nei,Rap 是基于维护一个 json-schema 方式定义后端返回数据结构,我们假设某个接口有100个字段,如果基于 json-shema 那么就要维护差不多 600 多左右字段的更新 。这么大工作量的,很可能导致后端工程师根本没有动力去维护 。比较遗憾的是,这几款优秀的产品,都缺失了一些我们在意的关键特征 。
我们可能需要做比较大的改动才能够基本满足自己的需求,这个工作量很有可能会超过重新开发一次 。所以我们开始自主研发一个全新的接口管理平台,我们希望它能够提供接口文档管理,接口数据模拟(Mock),接口调试,自动化测试等功能,让前后端接口相关的工作进行的更加高效 。这就是 YApi 接口管理平台斐然由来,下面简要聊聊 YApi 是如何实现上述这些特征的 。
YApi 解决方案1. 共同维护一份接口定义,连接前后端大家看下图,在后端开发接口过程中,接口开发和测试接口这是必不可少的环节,但文档因为没有跟接口开发和测试联系到一起,被孤立 。后端要维护对于他们冗杂繁琐的文档,是件收益很低的事情 。没有人喜欢做收益低的事情,所以最终的解决办法就是要提高收益 。下面详细说明解决方案 。

推荐阅读