API Mocker

先贴上项目地址:DXY-F2E/api-mocker

随着web发展,前后端分离的演进,网页的交互变的越来越复杂。在项目开发过程中,前后端并行开发时,在涉及到接口的部分,总是遇到各类问题。诸如接口假数据、接口参数的约定、代理调试等等,极大的影响了开发效率。

API Mocker致力于解决前后端开发协作过程中出现的各类问题,提高开发效率,对接口做统一管理,同时也能为后续的迭代维护提供更便捷的方式。

系统功能

接口约定

API Mocker提供操作简单但功能丰富的接口编辑,接口约定者能方便的设置接口的各类信息,其中:

  • 结构化的接口参数输入与输出

    • 支持不同维度的请求参数约定(querybodypathheader
    • 支持参数的类型约定(stringnumberbooleanobjectarray
    • 参数备注、示例
  • 支持Json数据逆向生成参数结构
  • 保留一定接口历史记录

Mock数据

API Mocker认为,mock不仅仅体现在返回数据中,mock请求本身也应该符合接口约定。因此,我们提供更加符合业务场景的mock服务。

  • Mock请求会根据接口约定,自动生成假数据。
  • Mock请求会根据接口约定,对请求参数做校验。(校验是否选填、参数类型是否正确)。
  • 根据接口约定与用户设置,能模拟不同的网络响应状态,如:200404500
  • 支持接口代理,代理mock请求到线上or测试地址,避免开发环境跨域,省下Charles代理过程。
  • 支持Mock.js语法。

接口文档

API Mocker会根据接口约定自动生成简洁优美、结构清晰的接口文档。同时,可以订阅接口,当接口发生变化时,及时收到邮件通知。

接口权限

API Mocker提供简单易用的权限控制。

  • 组级别、API级别控制
  • 可见性、可写性权限控制

其他功能点

  • 接口测试。开发人员可以在系统上直接测试接口,避免在postman等请求工具上又填写众多参数
  • 便捷的接口搜索。(可以按接口地址、管理员等维度搜索接口)
  • 数据呈现
  • 支持rap的导入

技术栈与第三方库

  • ES6
  • ESLint (Standard)
  • Ramda
  • ...

Client

  • Vue全家桶(vue + vuex + vue-router + webpack)
  • ElementUI, Mock.js, etc...
  • Less

架构图如下:

Server

  • Egg, Koa
  • MongoDB
  • Mongoose

架构图如下:

其他部署相关内容可看项目github地址的介绍。

系统未来展望

更加强大的接口约定

  • 更多校验属性的添加(日期、范围、正则)
  • 更便捷的编辑
    • 模板选择
    • 组内接口字段智能提示
    • 完善restful api的支持
  • 接口状态管理、版本管理

更完善的周边功能

  • swagger导入
  • markdown格式文档导出
  • Model文件导出(TypeScript等)
  • 自动化测试
    • 随机数据
    • 多次请求
    • 生成报表

其他完善的点

  • 完善mock的体验
  • 更多维度的数据统计
  • 完善使用文档
  • 国际化

致谢

项目本身也引用了众多开源项目,在此再次感谢这些项目对社会与技术圈作出的杰出贡献。丁香园也将努力、持续的做技术输出、产品输出,为开源社区做出自己的一份力量。

Github地址     API Mocker使用文档

--本篇文章来自于:丁香园开源接口管理系统 - API Mocker

丁香园开源接口管理系统 - API Mocker相关推荐

  1. 丁香园开源接口管理系统

    API Mocker 先贴上项目地址:DXY-F2E/api-mocker 随着web发展,前后端分离的演进,网页的交互变的越来越复杂.在项目开发过程中,前后端并行开发时,在涉及到接口的部分,总是遇到 ...

  2. java开源项目CrapApi接口管理系统

    其他链接:免费VPN推荐 VPN使用帮助 API接口管理  CrapApi帮助文档  API接口管理 CrapApi 应用接口管理,一个由anjularjs+bootstrap+springMVC搭建 ...

  3. 重磅开源:标星超过 10k+ 的免费接口,API 的搬运工

    [公众号回复 "1024",免费领取程序员赚钱实操经验] 大家好,我是章鱼猫. 今天给大家推荐的开源项目,绝对是杠杠滴,为什么这么说呢? 很多程序员都想开发一个自己的软件,尤其是移 ...

  4. 重磅开源:标星超过 10k+ 的免费接口,API 的搬运工,真香!

    点击上方"Github中文社区",关注 看遍Github好玩的项目 第63期分享 作者:章鱼猫  来自:github黑板 大家好,我是huber! 由于微信公众号一天只能推送一次, ...

  5. 丁香园样式库DXY-UI正式开源!

    DXY-UI 是什么? 一套适用于桌面端的样式库,包含文本.列表.表格.表单.栅格系统等基础样式和十余个组件,兼容主流浏览器及IE10+. DXY-UI 专注于样式,不涉及组件,无"侵入性& ...

  6. springfox源码_【开源项目】springfox-bridge:随心所欲地为非restful接口生成API文档...

    一.引言 目前,利用swagger框架为restful接口编写API文档非常流行,在spring web项目中,利用springfox+swagger更是可以通过注解的方式直接进行API文档的生成,这 ...

  7. eoLinker-AMS接口管理系统

    多端阅读<eoLinker-AMS接口管理系统>: 在PC/MAC上查看:下载w3cschool客户端,进入客户端后通过搜索当前教程手册的名称并下载,就可以查看当前离线教程文档.下载eoL ...

  8. PHP开源网站管理系统

    POSCMS介绍 PHP开源网站管理系统(PhpOpenSourceCMS,简称POSCMS)以开放.开源.灵活为产品理念,基于PHP+MYSQL+CI框架开发的开源Web内容管理系统,程序完美兼容P ...

  9. CrapApi接口管理系统菜单设置

    其他链接:免费VPN推荐 VPN使用帮助 API接口管理  CrapApi帮助文档  API接口管理 感谢使用CrapApi应用接口管理系统! 一个由anjularjs+bootstrap+sprin ...

最新文章

  1. lesson4-Qt窗口
  2. PHP易混淆函数的区分
  3. 利用原生js 如何实现div移动?
  4. VC编译器中混有.c文件时出现fatal error C1853错误(转)
  5. 由于连接方在一段时间后没有正确答复或连接的主机_新风换气机使用效果不佳,为何?掌握正确使用方法就好了...
  6. @Pathvariable的参数允许为空的问题的解决
  7. python数据结构之列表(list)——超详细
  8. BlockingQueue接口分析
  9. SolidWorks学习(1):基础绘图
  10. 精灵图(雪碧图)一招解决定位难问题,再也不用猜位置或者ps测距离了
  11. linux+gps测试流程图,卫星导航产品(GPS)测试方案详解
  12. 服务器搭建ftp共享文件夹,设置共享文件夹或者搭建FTP服务器。
  13. activiti-会签任务
  14. android添加浮动组件,添加悬浮操作按钮  |  Android 开发者  |  Android Developers
  15. 健身耳机哪些品牌好?健身运动耳机推荐
  16. matlab 4轴机器人建模,MATLAB机器人工具箱6轴机械臂DH建模仿真
  17. HTML点击图片实现提交或跳转链接页面
  18. 这个盛夏,来一场“清凉”的代码雨!
  19. mybatis 查询list,自动被加上了limit问题
  20. QML类型:Repeater

热门文章

  1. python读取文件并复制文件
  2. web服务器部署证书
  3. Vert.x(vertx) 连接MySQL、Oracle数据库
  4. 技术解读|RRBS测序中因酶切人为引入碱基问题
  5. vue父子组件传值:详解父组件向子组件传值(props)
  6. 利用百度人脸识别API,实现人脸登陆JavaWeb
  7. CENTOS 7 安装 ORACLE 19C
  8. shading interp;
  9. 直接解决OMP: Error #15: Initializing libiomp5md.dll, but found libiomp5md.dll already initialized.OMP:
  10. 正则表达式的使用(Javaphp),及常用表达式摘抄