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 文中有些方法可能已过时并不适用于现在 ...
随机推荐
- 题目1010:A + B
题目描述: 读入两个小于100的正整数A和B,计算A+B. 需要注意的是:A和B的每一位数字由对应的英文单词给出. 输入: 测试输入包含若干测试用例,每个测试用例占一行,格式为"A + B ...
- VLOOKUP函数常用套路大全
今天和大家来说说VLOOKUP的那些事儿,深入了解一下VLOOKUP函数的各种用法,看看这位大众情人还藏着多少不为人知的秘密.函数的语法为:VLOOKUP(要找谁,在哪儿找,返回第几列的内容,精确找还 ...
- 原生js怎样获取后台端口数据
全称: XMLHttpReques <!DOCTYPE html> <html lang="en"> <head> <meta chars ...
- overflow-x后覆盖滚动条
可以看到,上面的导航是fixed定位,微信下载,这 部分也是fixed定位, 出现的原因初步判定是:给html与body加overflow-x:hidden:导致, 解决办法是,去掉html的over ...
- 解决python本地离线安装requests问题
使用python36进行本地requests安装的时候,由于安装requests需要联网,导致安装失败,现象如下: 一开始以为,需要安装什么证书,其实只是需要一个python的证书库,(⊙﹏⊙)b 执 ...
- weka实际操作--构建分类、回归模型
weka提供了几种处理数据的方式,其中分类和回归是平时用到最多的,也是非常容易理解的,分类就是在已有的数据基础上学习出一个分类函数或者构造出一个分类模型.这个函数或模型能够把数据集中地映射到某个给定的 ...
- 笔记:Maven 设置代理配置
如果公司基于安全因素考虑,要求使用通过安全认证的代理服务器访问因特网,这种情况夏,需要为 Maven 配置HTTP代理,才能让他正常访问外部仓库,配置代理服务器需要在~/.ms2/settings.x ...
- redis的主从复制(读写分离)/哨兵(主从切换)配置
准备两个redis服务,两台机器,依次命名文件夹子master,slave1 10.10.10.7 10.10.10.8 1.master修改配置文件 [root@db2 conf]# cat 637 ...
- canvas星空和图形变换
图形变换. 一.画一片星空 先画一片canvas.width宽canvas.height高的黑色星空,再画200个随机位置,随机大小,随机旋转角度的星星. window.onload=function ...
- PO BO VO DTO POJO DAO DO
PO BO DTO VO 归在一起叫是POJO,简单java对象:DAO 是进行数据库增删改查的类,DO不确定有没有. 重点说下POJO PO 持久对象,数据: BO 业务对象,封装对象.复杂对象 , ...