Yapi是什么

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

我主要使用方式如下:

  • 项目集成swagger, 接口添加api注解
  • 导出api-docs.json
  • YApi导入api-docs.json

那么,既然swagger有了为啥还要多做一步导入YApi呢。因为YApi有更友好的查看管理,结合测试,可以有效表现api定义和示例。

另外,有的项目无法对外提供swagger接口,受环境限制。swagger也不适合多个项目的api管理。

后端定义好api结构,然后导入YApi, 在测试里输入样例参数,直接丢给前端即可完全实现前后端分离,有效提高api对接联调速度。

Yapi安装

官方地址: https://github.com/YMFE/yapi/

也可以通过docker安装 https://github.com/Ryan-Miao/docker-yapi

关于插件:加入一些登录插件,比如cas,需要编译client, 执行

npm install && npm run build-client

这时候, 官方源码会报错,主要是babel插件和eslink错误。见 https://github.com/YMFE/yapi/pull/1937

账号管理和权限

可以配置邮箱注册后缀,只允许公司内部用户邮箱注册。 也可以接入sso插件,接入公司的LDAP或者SSO,CAS等, 统一管理用户。

与Swagger集成

与swagger集成有两种方式, 一种是手动导入api-docs.json, 这种方式适用于yapi和api服务网络不通,只能手动维护的情况。

另一个就是在线自动同步,只要填入swagger的地址就可以了。

我们导入swagger官方示例: https://petstore.swagger.io/v2/swagger.json

查看接口定义

根据swagger定义的参数和返回值对象,yapi对应都有解析到。

执行接口

点击运行, 和swagger postman一样,可以直接执行接口。

这里有个问题,前后端分离后,接口鉴权通常是通过header传递token实现的。官方默认实现没有提供自定义header的功能。还有yapi架构设计很好,开源,有很多插件可以参考。

比如: https://github.com/shouldnotappearcalm/yapi-plugin-interface-oauth2-token

具体用法见: https://blog.csdn.net/shouldnotappearcalm/article/details/104726505

保存执行结果

刚才运行的接口点击保存,我们的参数就保存下来了。后面直接告诉前端同学地址,他可以通过测试用例来调用api。

测试用例

yapi相比swagger另一个比较好的功能就是测试和mock。先不说mock,就说测试api,后端开发好api后, 还要告诉前端怎么调用。有时候, 数据库的数据有限,还要告诉前端哪些参数可用,可以跳通。这些可以通过yapi运行接口后保存为测试实例来完成。

API可视化管理平台YApi的更多相关文章

  1. API统一管理平台-YApi

    前言:开发过程中,会产生很多接口对接操作,这个时候可能需要一个接口管理平台管理已经开发好的接口方便业务对接. 一.概述 YApi 是高效.易用.功能强大的 api 管理平台,旨在为开发.产品.测试人员 ...

  2. Flask框架学习笔记(API接口管理平台 V2.0)

    博主今天把API接口管理平台发布到github了,这次是更新一些功能 如支持本地数据库sqlite3.优化了数据结构 技术方面跟之前V1.0相同,只增加生产本地数据:但是为了支持层级的参数,修改了数据 ...

  3. Flask框架学习笔记(API接口管理平台 V1.0)

    今天博主终于完成了API接口管理平台,最后差的就是数据库的维护, 博主这里介绍下平台的设计原理,首先基于python,利用flask的web框架+bootstrap前端框架完成,先阶段完成了前台展示页 ...

  4. 分享一个开源免费、目前最好的API接口管理平台----eoLinker

    一.概况 eoLinker 是目前业内领先.国内最大的在线 API 接口管理平台,提供自动生成 API 文档.API 自动化测试.Mock 测试.团队协作等功能,旨在解决由于前后端分离导致的开发效率低 ...

  5. strapi 开源api && 内容管理平台试用

    strapi 是一个开源的api && 内容管理平台,功能操作起来还是比较方便简单的. 安装 使用docker && docker-compose 代码clone gi ...

  6. API开发管理平台eoLinker AMS 4.1版本发布:加入聚合空间,发布AMS专业版等

    eoLinker AMS是集API文档管理.API自动化测试.开发协作三位一体的综合API开发管理平台,是中国最大的在线API管理平台. eoLinker AMS 4.1更新内容: 1.新增" ...

  7. 接口管理平台Yapi

    1.介绍 YApi 是由去哪儿移动架构组推出的一款开源项目,是高效.易用.功能强大的 api 管理平台,旨在为开发.产品.测试人员提供更优雅的接口管理服务. 官网:https://yapi.ymfe. ...

  8. kong api可视化管理工具konga安装

    说明:官网推荐: kong-dashboard,但对比界面高端程度和友好度,更推荐konga.[一个坑]kong版本问题:我在安装时目前kong最新版本已经到1.0.0, 对于konga和kong-d ...

  9. YApi——手摸手,带你在Win10环境下安装YApi可视化接口管理平台

    手摸手,带你在Win10环境下安装YApi可视化接口管理平台 YApi YApi 是高效.易用.功能强大的 api 管理平台,旨在为开发.产品.测试人员提供更优雅的接口管理服务.可以帮助开发者轻松创建 ...

随机推荐

  1. 常用mac命令

    ~/.bash_profile 可以添加常用的一些命令别名alias unity="open -n /Applications/Unity/Unity.app"

  2. Myabtis动态SQL,你真的会了吗?

    目录 前言 什么是动态SQL? 常用的标签 if choose.when.otherwise where foreach set sql include 总结 拓展一下 Mybatis中如何避免魔数? ...

  3. Oracle 回滚段undo

    Undo的作用 数据的回滚 一致性读 表的闪回(事务,查询的闪回..) 失败会话的恢复 回滚rollback操作 SQL> archive log list; ORA-01031: 权限不足 S ...

  4. IDEA Activiti 画图中文乱码

    画流程图时,如果节点的name填写的是中文,再次打开流程图时中文会显示乱码,如下图: 修改idea64.exe.vmoptions文件,在文件中加上如下代码: -Dfile.encoding=utf- ...

  5. [bash] 获取linux主机名,检视内中是否有特定字符串

    代码: #!/bin/bash hostname=$(hostname) #调用hostname命令获取主机名放入变量hostname中 #echo $hostname if [ `echo ${ho ...

  6. PHP复杂变量

    eval($str="${${phpinfo()}}";)     →   可以执行phpinfo() ${phpinfo()} = {${phpindo()}} PHP复杂变量 ...

  7. i春秋公益赛之signin

    题目链接:https://buuoj.cn/challenges#gyctf_2020_signin 查看程序保护 只开了canary和NX保护,在IDA查看反编译出来的为代码时发现程序给了一个后门 ...

  8. mysql1045问题解决

    输入mysql -u root -P 1202 -h localhost -p时报错mysql1045 解决方法:my.ini中加上skip-grant-tables后重启mysql服务即可解决

  9. pycharm写的代码提交到git上,提示需要merge失败时解决办法

    当遇到pycharm代码提交需要合并报错时 原因:pycharm目录和git中目录冲突了 解决办法:1.先在git仓库中创建一个文件夹,比如day1 2.然后在pycharm中update一下,可以看 ...

  10. Web_php_unserialize 攻防世界

    1.$var输入处有一个正则过滤 2._wakeup处需要过滤 编写脚本如下 后在网页输入?var=TzorNDoiRGVtbyI6Mjp7czoxMDoiAERlbW8AZmlsZSI7czo4Oi ...