Mock API是如何在开发中发光发热的?
在长期的服务过程中,我们经常会遇到前来咨询的用户与我们反馈以下这种情况:咨询者是一个前端人员,在项目开发的过程中需要与后端进行对接,遇到后端还没完成数据输出的情况下,他只好写静态模拟数据,在遇到大型项目的情况下,数据冗长、代码复杂、多样的数据类型包括IP、图片,地址,函数等,在极短的项目周期及验收时间下,手动修改模拟数据显得一点都不现实。
对于这样的问题,其实eoLinker提供了目前最佳的解决方案:Mock API。
使用Mock API,前后端人员只需要定义好接口文档就可以开始并行工作;后端之间的接口耦合和测试中未准备好的依赖接口也能被Mock解决,不会出现团队互等的情况。这样的话,越早开展开发自测,提前了发现、修复缺陷的时间,也有效地保证整个产品质量以及进度。
eoLinker提供了两种模拟API的方式,基础Mock以及高级Mock,那应该怎么使用eoLinker的Mock呢?基础Mock和高级Mock的区别是什么呢?
在eoLinker中,基础Mock也称简易Mock,提供了以下功能:
1、支持HTTP、HTTPS
2、支持RESTful风格API
3、支持对请求方式进行校验(免费版为默认开启,专业版可针对项目设置关闭)
4、支持模拟HTTP状态码
5、支持真实的前置URL全局替换掉Mock请求的前置URL
6、支持对请求参数进行校验(专业版)
而高级Mock除了拥有基础Mock的功能之外,还具备以下功能:
7、支持根据mockjs规则生成mock数据,支持自定义js函数
8、支持根据在高级MOCK中设定的生成规则&属性值重新构造MOCK
(专业版)
…
其中的3、6、8功能点,需前往专业版AMS中使用。下面我们选择三个重要功能点进行简单叙述。
1、支持设置返回结果的生成规则,支持MockJS:
Mock.js由于能拦截并模拟 ajax 请求,因此用Mock.js模拟后端数据变得异常简单:
结合上述场景来看,eoLinker通过支持MockJS将能解决以下所有问题。
1、文档没有事先定义,开发过程,后端人员可能存在口头讲述,但是和实际返回数据不一样的情况,而eoLinker 高级mock本身就规范了这种行为,高效协作不是问题。
3、想要尽可能还原真实的数据,不用编写更多代码,也不用手动修改模拟数据。
直接模拟后台数据返回,事半功倍。
4、不担心例如IP,随机数,图片,地址等特殊的格式多重收集,丰富的格式支持省下大量时间。
5、eoLinker的MOCK还支持自定义函数和正则等复杂的数据类型,方便拓展各类更多数据类型。
正因如此,eoLinker MockAPI支持MockJS,解决了前后端开发中的数据模拟问题,大幅提升了开发的工作效率。
2、对请求参数进行校验:
这是高级版中的功能,eoLinker考虑到,开发过程中,有很多后端接口都会对参数进行校验的,确认哪些接口参数是必传,哪些接口参数是非必传。而前端开发调用的是Mock接口,从协助的角度上看,Mock API是模拟后端接口返回参数协作前端开发,那么对参数校验的功能也就十分必要,这样子才能模拟最真实的后端接口,更好地协助前端开发。eoLinker支持对请求参数进行校验,确定好这些接口参数是否必传,这样子就不会漏传某个参数了,行之有效的避免了冗余的工作量。
3、支持每次请求随机生成返回结果:
这同样是高级版中的功能,eoLinker认识到,随机生成返回结果的功能是必要的功能,因为接口每次返回的参数的值是不同的,所以随机生成可以使模拟的返回结果更真实。
接下来就是高级Mock实际教程部分。
1、编辑Mock数据 进入 接口编辑页面,点击上方 高级Mock 选项卡,进入到Mock设置页面:
注意: Mock的填写依赖于接口文档中的返回参数,如果进入Mock设置页面发现没有可以设置的字段,请返回 基础信息 选项卡完善接口的返回信息; MockAPI支持 Mockjs 语法,了解相关语法教程请前往:http://Mockjs.com/;
使用步骤:
1.返回参数填写相关键值对,若拥有层级结果,请用 两个英文右箭头 >>或者:: 表示层级:
根据Mockjs示例进行拆分填写。以下图 红框 部分进行讲解:
name对应列表字段名;
min-max对应列表生成规则;
string对应列表属性值,使用需搭配@Mock=使用,如 @Mock=’★’
将上图的Mock语法写入:
注意:红色框部分为设置整体返回结果类型,支持两种(object/array),生成规则及属性值同样对应Mockjs语法 2、调用MockAPI 进入接口详情页,点击上方的Mock标签,在下方的Mock部分可以看到有Mock API的请求地址,复制该地址即可访问Mock API得到虚拟数据:
Mock API是如何在开发中发光发热的?的更多相关文章
- 如何通过Mock API提高APP开发效率?
APP开发过程中,如果可以在客户端的正常项目代码中,自然地(不影响最终apk)添加一种模拟服务器数据返回的功能,这样就可以很方便的在不依赖服务器的情况下展开客户端的开发. Mock API提供了这一问 ...
- Android学习开发中如何保持API的兼容
Android学习开发中如何保持API的兼容: 1,采用良好的设计思路 在设计过程中,如果能按照下面的方式来进行设计,会让这个API生命更长久 面向用例的设计,收集用户建议,把自己模拟成用户,保证AP ...
- Mock.js开发中拦截Ajax
Mock.js 是一款前端开发中拦截Ajax请求再生成随机数据响应的工具.可以用来模拟服务器响应. 优点是非常简单方便, 无侵入性, 基本覆盖常用的接口数据类型. 在我们的生产实际中,后端的接口往往是 ...
- 开发H5程序或者小程序的时候,后端Web API项目在IISExpress调试中使用IP地址,便于开发调试
在我们开发开发H5程序或者小程序的时候,有时候需要基于内置浏览器或者微信开发者工具进行测试,这个时候可以采用默认的localhost进行访问后端接口,一般来说没什么问题,如果我们需要通过USB基座方式 ...
- gulp自己主动化任务脚本在HybridApp开发中的使用
眼下做前端开发的同学可能都熟悉grunt.fis之类的自己主动化构建工具.事实上在HybridApp开发中我们也能够使用这些工具来简化我们的工作.gulp就是一个比grunt,fis都先进的构建工具. ...
- MOCK API 的定义及实践(使用eolinker实现)
MOCK API 的定义 根据百度百科的定义,mock测试就是在测试过程中,对于某些不容易构造或者不容易获取的对象,用一个虚拟的对象来创建以便测试的测试方法.这个虚拟的对象就是mock对象,mock对 ...
- JSX AS DSL? 写个 Mock API 服务器看看
这几天打算写一个简单的 API Mock 服务器,老生常谈哈?其实我是想讲 JSX, Mock 服务器只是一个幌子. 我在寻找一种更简洁.方便.同时又可以灵活扩展的.和别人不太一样的方式,来定义各种 ...
- 【初码干货】使用阿里云对Web开发中的资源文件进行CDN加速的深入研究和实践
提示:阅读本文需提前了解的相关知识 1.阿里云(https://www.aliyun.com) 2.阿里云CDN(https://www.aliyun.com/product/cdn) 3.阿里云OS ...
- iOS项目开发中的知识点与问题收集整理①(Part 一)
前言部分 注:本文并非绝对原创 大部分内容摘自 http://blog.csdn.net/hengshujiyi/article/details/20943045 文中有些方法可能已过时并不适用于现在 ...
随机推荐
- css学习の第二弹—文字格式化排版
1.css格式化排版 >>字体设计: etc:body{font-family:"Microsoft Yahei";} >>字号,颜色: etc:body{ ...
- BZOJ1565 植物大战僵尸 题解
题目内容: 题目分析:有选A则必须选B这样的限制条件,可以发现这是最大权闭合子图模型,考虑环的情况,可以推测需要拓扑判环. 代码: #include<bits/stdc++.h> usin ...
- ubuntu,kali linux和windows三系统流水账——写给自己
我先说一下ubuntu和windows双系统安装的几种方法,最后总结kali linux的安装,想起什么写什么,所以有点乱.然后记录一下自己的使用过程中遇见的问题和解决的方法,还有我的个人建议. 我个 ...
- 爬虫-request以及beautisoup模块笔记
requests模块 pip3 install requests res = requests.get('') res.text res.cookies.get_dict() res.content ...
- Python基础-week03
本节内容摘要:http://www.cnblogs.com/Jame-mei 1.集合及其运算 2.文件读与写详解(1-3) 3.文件修改详解 作业:程序1: 实现简单的shell sed替换功能 ...
- 想在网上保持匿名?教你用Linux如何实现!
想在网上保持匿名?教你用Linux如何实现! 信息时代给我们的生活带来极大便利和好处的同时也带来了很大的风险.一方面,人们只要点击几下按钮,就能基本上访问已知存在的全部信息和知识:另一方面,要是这种权 ...
- git记录(给老婆找的地址)
ssh配置 https://blog.igevin.info/posts/generate-ssh-key-for-git/ git 查看某个文件的修改历史 1. git log -p filenam ...
- 笔记:MyBatis XML配置-typeHandlers 默认类型处理器
类型处理器 Java 类型 JDBC 类型 BooleanTypeHandler java.lang.Boolean, boolean 数据库兼容的 BOOLEAN ByteTypeHandler j ...
- Java 后端微信支付demo
Java 后端微信支付demo 一.导入微信SDK 二.在微信商户平台下载证书放在项目的resources目录下的cert文件夹下(cert文件夹需要自己建) 三.实现微信的WXPayConfig接口 ...
- Shell 判断文件或文件夹是否存在
#shell判断文件夹是否存在 #如果文件夹不存在,创建文件夹 if [ ! -d "/myfolder" ]; then mkdir /myfolder fi #shell判断文 ...