初探接口管理工具RAP

by Bosn Ma — on  , 

cover-image
  • 你和你的小伙伴们还在用纯手工的方式小心翼翼的编写和维护接口文档么?
  • 你和你的小伙伴们还在手动的一条一条伪造自测数据么?
  • 你和你的小伙伴们还在联调时因接口格式不对而浪费大量宝贵时间么?

如果是,RAP或许能够让你体验一次“鸟枪换炮”的快感。

概述

在前后端分离的WEB开发模式中,通常需定义接口文档来规范其接口形式,如接口地址、参数、类型、含义等。RAP 致力于提供方便的可视化工具录入并维护这些文档,并通过分析这些文档数据,重复利用,生成自测数据、校验真实数据,提升开发效率。

接口管理工作由来已久,传统管理方式无论用Word、Wiki或更高级的工具,最常遇到的问题是:“接口文档不全,更新不及时”。由于开发过程中持续的接口调整几乎无可避免,一旦接口文档不能及时同步,一切都是空谈!RAP工具改变了这一现状,任何接口的变化需要通过更新RAP内的接口文档来反馈给前端,而RAP通过接口规则生成的模拟数据则构成了整个前端开发环境的基础。因此,接口文档的全面性、实时性和正确性成为前后端开发过程中的强依赖,同时这也构成了RAP服务于后端单元测试和UI自动化测试的基石。在RAP成为前端开发过程的必经环节之后,这对RAP解决复杂response数据的结构化描述、 版本历史管理、 接口维护工具、易用性等问题时提出了更高的要求。

用户场景

RAP的主要目标用户群有四种:

  • 前端,使用RAP制定接口,生成自测数据。
  • 后端,使用RAP制定接口,校验真实输出的格式。
  • 测试,使用RAP录制Mock规则,实现自动化测试。
  • 其它,各种角色,需要了解该系统接口情况的人。

使用数据

截至2014.3.5发稿时,目前RAP已为112名工程师提供服务,立项49个,定义了445个接口,完成了上万次动态数据MOCK。

解决的问题

接口编辑的便利性

RAP所解决的问题,主要集中于中大型的企业级项目,接口形式有一定的复杂度。

比如一个报表的请求,可能嵌套较多的层级。传统的方式描述较多嵌套的层级结构会较为麻烦,复制、移动等修改都消耗大量时间,而RAP通过GUI工具和结构分析可以很好的解决这些问题。

再复杂的嵌套参数,一键复制和移动。展开、折叠毫不费力。RAP专为接口编辑而设计,在用户体验和细节上做了大量处理,保证高效、方便的接口文档编辑。

RAP文档编辑区

手写模拟数据耗费时间

从设计阶段之后到联调之前,前端需要编写大量的自测数据来自测(尤其层级嵌套或CASE较多的情况会比较麻烦)。

有了RAP告别手写自测数据,RAP会根据最新的接口文档动态实时的产生模拟数据,且结合MockJS支持深度定制的数据模拟规则。“一处写好,大家共享。”

不管是自测、做DEMO,RAP在数据模拟上都可用最少时间,达到最大产出。对于前端,RAP模拟请求返回生成靠谱的自测数据,对于后端,RAP根据接口文档中定义的参数格式伪造实际请求以此测试后端实际接口的准确性。

有规范却不执行

这是实际常见到的问题,定义好了接口,联调的时候发现实际数据不符合规则或前端手写的自测数据错误导致前端未正确处理。

RAP MOCK保证前端代码对接口正确的处理,同时,RAP会根据接口文档中的结构动态验证后端实际返回的正确性,在联调前扫清所有后端格式错误。

文档维护 & 实时性

传统的接口文档若不进行持续的维护,将会逐渐失效。

没有实时性的文档很快将会变成废品,RAP集中式的文档编辑,实时生效的前后端工具将RAP中的接口文档变成强依赖。

RAP中的接口文档一旦修改,所有的自动化功能都将受其影响,反之也保证了RAP中的文档始终是最新的。

特点介绍

方便快捷的创建、共享文档

RAP中对接口文档的编辑提供了一套可视化界面,编辑操作像Excel一样方便简单。比如您可以展开、收缩层级嵌套的参数结构,查看、切换不同历史版本,一键复制、移动参数(包括层级嵌套的复杂参数)。

为方便离线查看,您也可以导出接口文档(Word文档)。在即将问世的v1.0新版RAP中,我们还会增加: 注入规范验证(强制接口命名规范)、接口模板等提升文档易用性的功能。

针对RD、FE、QA不同的角色提供不同的视图及功能。比如后端更关注接口地址,前端更关心业务逻辑中划分的”页面“或”模块“。我们将持续提升产品易用性。RAP的核心是接口文档,因此文档编辑的用户体验是我们非常重视的,有了较好的文档编辑用户体验,用户才愿意用RAP去维护文档,并充分利用这些结构化的数据将更多工作自动化。

RAP MOCK,“设计阶段,所有服务全跑通”

在设计阶段写好接口文档后,RAP会根据接口文档中的请求路径、接口数据自动生成所有的服务接口。

在联调前,所有MOCK服务全部可跑通,并根据文档变化实时更新,前端自测将变得更加简单。

RAP的MOCK数据是动态生成的,默认数据会有自己的初始行为,您也能通过标签精细的控制数据生成的逻辑。

这也为后续我们创建”响应参数“的数据创造基础。

目前RAP支持MockJS和RAP MOCK两种Mock规则,后续还会进行更多扩充 。

RAPv0.8请求流程

集合THX平台发挥更大的优势

RAP生成的数据通过跨平台Crox模板引擎可打通多平台,意味着RAP MOCK的用武之地不再局限于JSONP、JSON形式的接口,

Velocity、Smarty等后端模板语言调用RAP MOCK服务依然可行,实现“一处编写、到处使用。”

我们后续还将与THX其它产品做深度结合,发挥更多的作用。

RAP发展历程

RAP第一版在2010年中完成开发,历经了3年多的实际应用,无论是文档编辑、前端MOCK服务、后端自测工具还是自动化测试等功能都较为成熟。我们在用户体验、操作细节上也做了很多的努力。

在文档结构化后再利用上,接口文档是第一个尝试,我们也在努力挖掘更多的可再利用文档,用以提升其它的重复劳动,我们也在努力让现有功能更加完善。无论你是前端、后端还是测试,有了RAP,文档共享和开发将更为方便。

RAP v1.0

在即将到来的RAPv1.0版本中,我们会增加分布式的NodeJS客户端,支持Web服务器与RAP的深度结合,利用反向代理解决Mock服务跨域问题,支持离线存取,分散服务器Mock压力,并在客户端实现更多强大的功能。

RAPv1.0请求流程

RAPv1.0规则编辑和同步流程

关于RAP

Comments