API Mocker

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

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

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

系统功能

接口约定

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

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

    • 支持不同维度的请求参数约定(querybodypath, header
    • 支持参数的类型约定(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使用文档

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

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

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

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

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

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

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

  4. 轻量级开源内容管理系统-YzmCMS v6.0源码

    介绍: YzmCMS是一款轻量级开源内容管理系统,它采用OOP(面向对象)方式自主开发的框架.基于PHP+Mysql架构,并采用MVC框架式开发的一款高效开源的内容管理系统,可运行在Linux.Win ...

  5. eoLinker-AMS接口管理系统

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

  6. 图谱实战 | 丁香园医疗领域图谱的构建与应用

    分享嘉宾:付子玉 观澜网络 算法工程师 编辑整理:孙佩霞 中国电信研究院 出品平台:DataFunTalk 导读:丁香园大数据组旨在为用户提供更优质的内容与服务,使用知识/概念图谱.预训练模型挖掘更深 ...

  7. 开源服务器日志实时查看系统,开源日志管理系统

    开源日志管理系统 内容精选 换一换 鲲鹏工程师培训及认证为客户提供鲲鹏认证伙伴基于open系开源内核构建的商业软件培训,包含商业软件介绍.特性描述.操作使用.开发指导等内容. 来自:其他 MindX ...

  8. 【杭州·招聘】丁香园招中高级业务测试-内推岗位

    内推联系方式: 微信:zxh1357902468 邮箱:zhangxh@dxy.cn 地址:杭州 - 滨江区 - 西兴 - 滨安路 756 号, 世包大楼 A 区 3 楼 1.高级测试工程师(丁香妈妈 ...

  9. 丁香园技术副总裁范凯:公司高速发展是对团队最好的管理

    \ EGO是高端技术人聚集和交流的组织,每周我们都会对一位会员进行人物专访,在展示会员风采的同时,也分享会员们对技术.对工作.对人生的感悟,本周,我们邀请到了丁香园技术副总裁范凯,听他聊管理.创业.技 ...

最新文章

  1. php facade模,PHP 设计模式之外观模式 Facade
  2. ASP.net中的validaterequest
  3. 一个类及其对象初始化的过程
  4. Caret模型训练和调参更多参数解读(2)
  5. 简单的反U盘病毒(删除不了的畸形文件夹)
  6. QEMU虚拟化加速方案 - KVM
  7. jenkins远程构建job_jenkins分布式构建job
  8. AcWing 889. 满足条件的01序列(卡特兰数)
  9. PHP推流地址获取图片
  10. 海康摄像头不记得登陆密码了怎么办?2020年联系人工客服最新版解答方案
  11. 不能创建对象qmdispatch_ActiveX部件不能创建对象的终极解决方案
  12. Crypto-Enigma密码机原理
  13. 创客使用Fusion 360 - 草绘
  14. 35岁以后你还能干嘛?
  15. .Net中使用数据库(sqlite)的大体流程(简单向)
  16. 在中国搞定粉丝秘笈:如何创造粉丝经济
  17. 云南旅游注意事项 云南旅游必看 北京旅游注意事项 各地跟团旅游注意事项
  18. 深度学习-图片识别(上)
  19. 目标检测任务超大图像的切图实现
  20. 【论文学习】Towards Accurate Oriented Object Detection in Aerial Images with Adaptive Multi-level Feature

热门文章

  1. (PPT+官方解读):中国移动5G终端产品2021年要这么干!
  2. python下载pytorch(通过pip+清华源)
  3. MIMO大规模天线阵列原理与matlab仿真(含GUI)
  4. MMoE论文中Synthetic Data生成代码(控制多任务学习中任务之间的相关性)
  5. wine安装迅雷、qq2009
  6. Linux下的mount命令详解
  7. 阿里内部总结的微服务笔记,从入门到精通,初学者也能学的会
  8. xp 计算机没装网络控制器,windows xp系统没有无线网络,什么原因?
  9. 兆易创新嵌入式软件工程师笔试题目解析
  10. java房屋基础装修预订系统SSH