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得到虚拟数据:

原文地址:https://www.cnblogs.com/wardennn/p/8758750.html

时间: 2024-08-29 13:00:58

Mock API是如何在开发中发光发热的?的相关文章

Mock.js开发中拦截Ajax

Mock.js 是一款前端开发中拦截Ajax请求再生成随机数据响应的工具.可以用来模拟服务器响应. 优点是非常简单方便, 无侵入性, 基本覆盖常用的接口数据类型. 在我们的生产实际中,后端的接口往往是较晚才会出来,并且还要写接口文档,于是我们的前端的许多开发都要等到接口给我们才能进行,这样对于我们前端来说显得十分的被动,于是有没有可以制造假数据来模拟后端接口呢,答案是肯定的.应该有人通过编写json文件来模拟后台数据,但是很局限,比如增删改查这些接口怎么实现呢,于是今天我们来介绍一款非常强大的插

gulp自动化任务脚本在HybridApp开发中的使用

目前做前端开发的同学可能都熟悉grunt,fis之类的自动化构建工具,其实在HybridApp开发中我们也可以使用这些工具来简化我们的工作,gulp就是一个比grunt,fis都先进的构建工具,用好gulp可以简化我们的工作流程,提升产品质量.本文会详细的说明我们移动App项目gulp的使用经验,部分关于gulp的介绍来自国外网站. gulp是 Fractal公司发布的一个新的基于nodejs的构建系统,目标是取代Grunt,成为最流行的JavaScript任务运行器.目前ionic框架默认的构

JSX AS DSL? 写个 Mock API 服务器看看

这几天打算写一个简单的 API Mock 服务器,老生常谈哈?其实我是想讲 JSX, Mock 服务器只是一个幌子. 我在寻找一种更简洁.方便.同时又可以灵活扩展的.和别人不太一样的方式,来定义各种 Mock API.后来我发现了 JSX 在领域问题描述的优势和潜力,当然这可不是空谈,我们会实际写一个项目来证实这个判断. 文章大纲 1. 领域问题的描述 1.1 配置文件形式 1.2 编程语言与内部 DSL 2. JavaScript 内部 DSL 2.1 对象形式 2.2 链式调用形式 2.3

[Java Web]2\Web开发中的一些架构

1.企业开发架构: 企业平台开发大量采用B/S开发模式,不管采用何种动态Web实现手段,其操作形式都是一样的,其核心操作的大部分都是围绕着数据库进行的.但是如果使用编程语言进行数据库开发,要涉及很多诸如事务.安全等操作问题,所以现在开发往往要通过中间件进行过渡,即,程序运行在中间件上,并通过中间件进行操作系统的操作,而具体一些相关的处理,如事务.安全等完全由中间件来负责,这样程序员只要完成具体的功能开发即可. 2.Java EE架构: Java EE 是在 Java SE 的基础上构建的,.NE

android权限--android开发中的权限及含义(上)

android权限--android开发中的权限及含义(上) android.permission.EXPAND_STATUS_BAR 允许一个程序扩展收缩在状态栏,android开发网提示应该是一个类似Windows Mobile中的托盘程序 android.permission.FACTORY_TEST 作为一个工厂测试程序,运行在root用户 android.permission.FLASHLIGHT 访问闪光灯,android开发网提示HTC Dream不包含闪光灯 android.pe

iOS开发中xcode错误和异常处理

在开始这个的内容之前,我想先阐明两个在很多时候被混淆的概念,那就是异常 (exception) 和错误 (error). 在 Objective-C 开发中,异常往往是由程序员的错误导致的 app 无法继续运行,比如我们向一个无法响应某个消息的 NSObject 对象发送了这个消息,会得到 NSInvalidArgumentException 的异常,并告诉我们 "unrecognized selector sent to instance":比如我们使用一个超过数组元素数量的下标来试

ios开发中-AFNetworking 的简单介绍

Blog: Draveness 关注仓库,及时获得更新: iOS-Source-Code-Analyze 在这一系列的文章中,我会对 AFNetworking 的源代码进行分析,深入了解一下它是如何构建的,如何在日常中完成发送 HTTP 请求.构建网络层这一任务. AFNetworking 是如今 iOS 开发中不可缺少的组件之一.它的 github 配置上是如下介绍的: Perhaps the most important feature of all, however, is the ama

iOS开发中打电话发短信等功能的实现

在APP开发中,可能会涉及到打电话.发短信.发邮件等功能.比如说,通常一个产品的“关于”页面,会有开发者的联系方式,理想情况下,当用户点击该电话号码时,能够自动的帮用户拨出去,就涉及到了打电话的功能. iOS开发中,有三种方式可以打电话: (1)直接跳到拨号界面,代码如下 1 2 NSURL *url = [NSURL URLWithString:@"tel://10010"];  [[UIApplication sharedApplication] openURL:url]; 缺点:

C开发 中原子性操作 , 除了快什么都不剩下了

题外话 今天,听歌曲听到一首缅怀迈克尔·杰克逊的歌曲 如下: http://music.163.com/#/song?id=1696048  Breaking News 每次听迈克尔 音乐,特别有战斗力,特别兴奋,学起技术来也特别带感,推荐喜欢的人试试. #include <stdio.h> int man(int argc, char* argv[]) { printf("Hope you are better %s\n","Michael Jackson&qu