基于YAPI的接口工作流

简介: 基于YAPI的接口工作流

概述


根据调研显示,围绕API相关的开发基本占用整体开发的50%左右时间。另一方面,随着公司架构的升级,各个组件微服务化,模块之间调用变的复杂,所以API的研发管理变得极为关键。目前公司接口的管理很不规范,有的后端通过swagger发给前端,有的后端直接通过文档发给前端,没有统一的接口管理工具。

在对比了市面上已有的接口管理平台,比如Apifox, Apipost, Yapi等,我们最终选择了Yapi,相比于Apifox等迭代迅速,功能齐全的商业化产品,Yapi最大的优势就是开源,免费,而且基本上能够满足我们如下的目标:

  1. 统一的可视化接口管理,后端、前端、测试能够及时的看到接口,减少依赖
  2. 简易的数据mock,让前端再也不等在那里了
  3. 自动化接口测试工具,可供后端进行接口自测
  4. 数据导入导出,方便接口的维护


YAPI产品介绍和使用


github地址:

github.com/YMFE/yapi

YApi 是高效易用功能强大的 api 管理平台,旨在为开发、产品、测试人员提供更优雅的接口管理服务。可以帮助开发者轻松创建、发布、维护 API,YApi 还为用户提供了优秀的交互体验,开发人员只需利用平台提供的接口数据写入工具以及简单的点击操作就可以实现接口的管理。

基本使用:

yapi.smart-xwork.cn/doc/documen…


接口工作流程


公司采用敏捷迭代的开发流程,在敏捷迭代的开发周期中,YAPI如何参与进行接口管理工作?后端人员、前端人员以及测试该如何协同工作,形成高效、敏捷、简单的接口工作流?

1671174631190.jpg


后端人员


  1. 上一个迭代周四周五和前端同事进行概要设计,根据需求确定新增修改的接口,包括请求类型、入参格式、出参格式等,最重要的是约定好接口联调的时间点。
  2. 迭代第一周的周一,发布接口到YAPI中,并且通知对应的前端同事验收。如何发布接口,请看下面的最佳实践。
  • 接口需要在YAPI上打上标签,标记是哪个迭代
  • 接口需要在YAPI上标记是否是外部接口
  1. 迭代开发过程中,接口尽量不做改动,需要在概要设计阶段尽量细化。如果实在进行变更,需要通知对应的前端人员,同时发送钉钉机器人变动。
  2. 和前端接口联调前,需要在YAPI中添加接口的测试用例,执行通过,表明接口自测通过,具体如何操作见下面的最佳实践。


前端人员


  1. 前端人员在上一个迭代周四周五和后端同时进行概要设计,确定接口格式,并且约定好接口联调的时间点。
  2. 迭代第一周周一,前端人员根据接口规范在YAPI上审核接口是否满足要求。
  3. 迭代开发过程中,前端人员需要留一下接口是否发生变化。
  4. 前端人员开始接口联调时,首先查看对应接口是否存在测试用例,不存在则拒绝联调。


测试人员


  1. 测试人员可以在YAPI中查看迭代的接口,进行接口测试用例编写。


一些最佳实践(Q&A)


如何发布接口到YAPI?


发布接口到YAPI的方式主要有下面3种:

  1. 通过swagger同步
  • 添加swagger注解,controller上面的tags建议使用模块名称,因为他会被解析成yapi的分类,不然yapi的分类很多。

1671174653804.jpg

  • 接口上添加swagger注解,tags上补充变化的版本

1671174661266.jpg

  • 通过数据导入导出,导入swagger

1671175080389.jpg

  1. 页面手动添加接口

1671175874886.jpg

通过界面添加接口。

  1. 通过idea插件发布
  • idea安装EasyYapi插件

1671175881404.jpg

  • 选中接口,发布到yapi中,发布到yapi的注释信息是根据javadoc生成的,所以要完善javadoc

1671175888186.jpg

  • 发布过程中,需要设置项目的token, token获取如下:

1671175894035.jpg

我们建议使用第一种方式。


如何设置钉钉机器人发布接口变更?


  • 钉钉群添加机器,设置过滤的关键词, 比如接口文档所属项目的项目名称sdm

1671175904677.jpg

  • 项目设置标签

1671175911256.jpg

  • 发生变化收到通知

1671175916895.jpg

如何设置对外接口并且导出?


  • 如果接口是对其他组件服务暴露的接口,设置接口的为开放接口。

1671175924939.jpg

  • 导出开放接口

1671175930940.jpg

  • 查看开放接口

1671175937110.jpg


如何查看当前迭代的接口?


  1. 后端同事需要为接口打上标签
  2. 前端同事根据标签过滤迭代的接口

1671175947860.jpg


如何进行接口测试?


  1. 后端开发添加环境配置

1671175957722.jpg

  1. 后端执行测试用例

1671175965060.jpg

  1. 保存用例

1671175972800.jpg

  1. 前端同事检查用例,开始联调

什么是好的接口格式规范?


1671175981382.jpg

其实在我们的场景里,就是YAPI中哪些元素必须要写清楚。

  • 请求参数中必须写清楚参数的含义,是否必填等
  • 请求参数只需要显示接口实际需要的参数,不需要的不要展示,以防混淆。
  • 返回报文必须写清楚字段的含义,返回类等
  • 返回报文尽量不要返回无需使用的字段,以防混淆,也不符合良好的设计规范。
  • 尽量写下备注,表明接口的实现逻辑,使用的注意事项,tps等。
目录
相关文章
|
NoSQL Cloud Native 数据可视化
云原生之使用Docker部署YApi接口管理服务平台
云原生之使用Docker部署YApi接口管理服务平台
588 0
云原生之使用Docker部署YApi接口管理服务平台
|
6月前
|
数据可视化 JavaScript NoSQL
搭建接口平台YApi详解(含搭建node环境)
搭建接口平台YApi详解(含搭建node环境)
185 0
|
Web App开发 JSON 安全
【漏洞复现】Yapi接口管理平台远程代码执行漏洞
Yapi接口管理平台远程代码执行漏洞,攻击者可通过特定Payload对目标实施恶意攻击,获取敏感信息,操控服务器指令。
573 1
|
Web App开发 JSON 前端开发
YApi 官网说明文档-接口操作
为方便和前端, 节省沟通成本, 编写接口文档非常有比较 使用过swagger, 觉得入侵性太大. POST又感觉和项目结合的不太紧密. 所以一直在寻找 新的接口阅读/生成/测试工具. 下面介绍一下YApi.
1719 0
YApi 官网说明文档-接口操作
|
存储 NoSQL JavaScript
Linux下快速搭建YApi接口管理平台
目录 一、序言 二、安装Node 1、安装nvm 2、使用兼容的Node版本 二、安装MongoDB 1、下载MongoDB 2、配置MongoDB 三、安装YApi 四、安装PM2管理Node服务 五、登录YApi后台
Linux下快速搭建YApi接口管理平台
|
数据可视化 数据管理 测试技术
02 提效工具之yapi接口生成
02 提效工具之yapi接口生成
|
XML JSON 前端开发
开源的YAPI外还有哪些免费的接口工具?
API 管理这个话题近些年听到的频次越来越多,这本质上是个 web 领域的发展有关,也和开发协作方式有关--前后端分离代替了全栈工程师 hold all 的局面,强调的更多的是 API 复用、分工和协作细化。 API 管理的重要性不言而喻,每家公司随着业务的发展,多多少少都会涉及到;从开源社区的产品到国内各类商业化产品,可以看到大家对于 API 管理是越来越重视的。
|
Kubernetes 数据可视化 测试技术
可视化接口管理平台 YApi,让你轻松搞定 API 的管理问题
高效、易用、功能强大的可视化接口管理平台 YApi,让我们能轻松帮助我们搞定 API 的管理问题。
741 1
|
JSON 前端开发 API
接口管理工具YApi怎么用?颜值高、易管理、超好用
接口管理工具YApi怎么用?颜值高、易管理、超好用
|
JSON 前端开发 API
接口管理工具YApi怎么用?颜值高、易管理、超好用
众多接口管理工具如雨后春笋搬冒出。让人欣慰的是,有许多优秀作品来自国内,包含YApi和rap。 看着中文的官网,熟悉的汉语,不禁让人暗爽。当然这也就带来另一个弊端,因为使用基数少,所以参考资料少。我们想学习使用方法,只能依赖官方文档,也算是福祸相倚了。 本文将带您走进Yapi的世界,让您体验一回小清新的接口管理工具。 根据统计,市面上互联网项目超过10亿,保守统计涉及的API数量有100亿。