增加及调用 Mock API

在瀑布流开发模式中,如果前端开发人员须要进行页面对接,须要后端先实现API的开发工作,因而前后端开发的进度会相互影响。

通过 Mock API,您能够当时编写好 API 的数据生成规定,由 API 研发治理平台 动静生成 API 的返回数据。开发人员通过拜访 Mock API 来取得页面所须要的数据,实现对接工作。

Apikit 提供市面最强的Mock API能力体系:

如果用户仅须要疾速的基于接口文档中的返回后果获取对应的随机数据,则能够通过繁难Mock性能获取对应信息。

如果用户冀望通过一个url模仿不同的申请信息时,获取对应个的返回后果模仿数据,则举荐应用高级Mock性能。

一、高级Mock

性能入口:API治理利用 / 选中某个我的项目 / API文档菜单 / 选中某一API文档 / 点击“高级Mock”TAB

高级Mock API 反对依据不同的申请参数返回不同的 HTTP Status Code、Header、Body等数据。您能够在一个 API 文档里创立多个高级Mock API ,模仿前端发动的各种申请,不便对前端逻辑进行校验。

当我的项目正式公布时,只需将高级 Mock API 的地址前缀替换为理论的拜访地址即可。

因为同一个我的项目中的高级Mock API的地址前缀是雷同的(如mock.eolinker.com/uasyd1/…),因而能够在代码中将高级Mock API的地址前缀作为全局变量,我的项目上线时仅需替换变量的值即可扭转整个我的项目的 API 申请地址前缀。

1.1 增加高级Mock

在“高级Mock”页下,点击“增加Mock”,即会有增加Mock信息弹窗。

除了高级Mock冀望名称外,其余需输出的信息分成两个局部:申请触发条件和响应内容

1.1.1 申请触发条件

调用高级Mock的接口地址时,仅有申请信息满足申请触发条件方会返回该高级Mock设置的返回参数。

申请触发条件可设置申请头部、申请体、Query参数。

申请头部 & Query参数

  • 申请触发条件的信息默认同步文档中的申请参数对应的参数信息。其中申请头部和Query参数设置较为简单,间接填写参数和预期参数值即可。
    申请体
  • 申请触发条件的申请体数据默认填入文档中的申请体参数信息。

若申请体内有参数,则零碎需校验参数名、字段类型和冀望参数值。其中若API文档中有设置参数的示例值,则会主动填入到冀望参数值内。冀望参数值不可为空,若不心愿把该申请参数作为触发条件,则可删除该参数。

冀望参数值校验可选多种运算形式,蕴含正则匹配、等于、不等于、大于、小于、大于等于、小于等于。

申请体触发条件提供是否校验数组内元素的勾选项,默认不勾选。不勾选时,对于数组类型参数仅校验第一个元素是否满足规定。勾选后,会对数组类型参数的所有元素进行校验。

1.1.2 响应内容-Body

响应内容为满足该高级Mock触发条件后,Mock URL返回的模仿参数值。其中Eolink提供以下五种配置响应内容中的响应体的形式

1.1.2.1 追随 API 文档

实时同步API文档的返回参数为该高级Mock的返回模仿值。即API文档调整了返回参数字段或构造后,零碎主动同步对应的构造和模仿值。

追随API文档时,各参数输入的模仿值和文档中该返回参数的示例值字段和Mock字段相干。

若设置了Mock字段,未设置示例字段,则依据Mock字段的规定返回动静模仿值;

若未设置Mock字段,未设置示例字段,则依据示例字段的内容返回动态模仿值;

若设置了Mock字段,且也设置了示例字段,则依据示例字段的内容返回动态模仿值。

即示例字段的优先级高于Mock字段。

若未设置Mock字段,且未设置示例字段,则输入零碎默认兜底规定:

1.1.2.2 JSON

响应内容应用JSON格局编辑时,反对Mockjs语法。

在JSON的响应内容表格中四个输出字段的解析如下:

仅返回固定值

若用户仅须要返回某个固定值,则仅需把该固定值填入到参数值字段中即可

仅应用Mockjs占位符

若用户仅须要应用Mockjs占位符即可实现随机数生成,则仅需把Mockjs占位符填入到参数值字段中即可。留神需带有占位符前缀@

反复Mockjs占位符输入内容
若用户须要反复Mockjs占位符输入的内容,例如占位符为@mock="★",若不填写生成规定字段,则零碎会主动输入一个★。
若生成规定填写2,则代表须要反复输入2次该占位符后果,最终输入★★。
若生成规定填写1-3,则代表须要反复输入1次到3次范畴内随机次数的该占位符后果,最终输入有可能为★或★★或★★★。

字段类型为数字相干类型的非凡用法

若字段类型抉择了int、float、double、number,当参数值未输出任何内容时。可通过生成规定输入非凡范畴的随机数字。填写规定为:1-1000代表1到1000中随机一个数字;若有小数点,小数点后填写1-3,则代表小数点后随机呈现1到3位的数字。

例如 1-10.1-10,则代表小数点前从1到10随机呈现一个数字,小数点后呈现1到10位随机数字。所以可能的输入值为5.2341。

JSON格局还提供根数据生成规定,需抉择根类型为数组Aarray时才会失效,用于配置生成多少个数组元素。

1.1.2.3 XML
应用XML格局时,能够编辑XML申明,并编辑各参数字段的属性。

1.1.2.4 Raw
当您不须要随机生成数据时,能够抉择 Raw 类型并可填写任意格局静态数据。

1.1.2.5 JavaScript

当您心愿通过代码生成返回数据时,能够应用编写 Javascript 代码的形式,并应用 return 语句返回数据。Javascript 模式中也反对 Mock JS,通过 Mock.mock() 形式调用,详情能够查阅 Mock JS 官网文档。

以下例子示意应用 Javascript 代码联合 Mock JS 生成 随机中文名+以后日期 的返回后果:

var date = new Date();var seperator1 = "-";var year = date.getFullYear();var month = date.getMonth() + 1;var strDate = date.getDate();//在这里应用Mock JS 获取随机中文名var userName = Mock.mock("@cname");if (month >= 1 && month <= 9) {    month = "0" + month;}if (strDate >= 0 && strDate <= 9) {    strDate = "0" + strDate;}var currentdate = year + seperator1 + month + seperator1 + strDate;return userName+seperator1+currentdate;

1.1.3 响应内容-Header
响应头部内容会主动同步API文档中的返回头部内容,其高级Mock的配置也较为简单,间接编辑参数名与参数值即可。

1.1.3.1 响应内容-高级设置
用户还能够在高级Mock中对响应进行高级设置:配置响应状态码或响应延迟时间。

响应状态码

  • 仅HTTP协定的高级Mock方可配置,可输出3位规范的HTTP状态码。零碎默认填写200。

响应延迟时间

  • 可配置高级Mock的URL调用后提早多少秒返回信息。可配置单位为毫秒ms。

1.2 调用高级Mock

用户点击高级Mock列表页顶部的调用地址,即可复制地址。可把地址黏贴到IDE工具中,调用接口进行调试。

1.2.1 调用优先级
一个API文档中无论设置了多少条高级Mock,均仅有一个高级Mock调用地址。用户在调用时,依据申请的内容判断触发了哪一条的高级Mock设置,并返回对应高级Mock的返回后果。

零碎默认提供一条零碎默认冀望的高级Mock设置,该配置无任何申请触发条件,代表任何条件均可触发该高级Mock。但零碎会遵循自定义高级Mock设置大于零碎默认冀望设置的优先级,优先执行其余高级Mock设置。若其余高级Mock设置未被触发时,才会触发零碎默认冀望。

另外,若用户停用零碎默认冀望的高级Mock,并调用时未有任何其余高级Mock被触发,则零碎会返回揭示:无奈找到该Mock API,并查看相干设置。

1.2.2 启用/停用高级Mock

在保留高级Mock配置时,零碎会主动判断其申请触发条件是否和其余高级Mock配置雷同。若有雷同的申请触发条件,则会揭示持续编辑以便把申请触发条件批改成不一样的条件,或持续保留以后的高级Mock配置,并停用与其申请触发条件雷同的高级Mock。

用户能够在高级Mock列表右侧的操作按钮中,设置启用或停用对应高级Mock。停用后,即便申请触发条件满足该高级Mock的需要,也不会返回该高级Mock的返回后果。

二、繁难Mock

性能入口:API治理利用 / 选中某个我的项目 / API文档菜单 / 选中某一API文档 / 点击“编辑”TAB

繁难Mock性能可在编写API文档的时候,同时对不同的返回后果进行Mock配置。并且可预置智能Mock规定,在编写返回参数时,若参数名和字段类型匹配智能Mock规定时,零碎主动填入该参数的Mock规定。

配置繁难Mock后,API文档会主动生成Mock URL,用户可复制该URL间接调用得出想要的数据后果。
该性能仅反对HTTP协定接口下的JSON或XML数据类型的返回后果

2.1 增加繁难Mock

1、 进入API文档编辑页,选中须要编辑的返回后果
2、数据类型抉择JSON 或 XML ,在参数列表中填写字段名和抉择数据类型,若字段名和数据类型命中了智能Mock的规定,则字段名输入框失去焦点后,零碎会主动填充该字段的Mock值。

若mock值已有内容,则变更字段名或数据类型均不会触发智能Mock

3、无论是否命中智能Mock规定,均可点击mock输入框,填写所需的mock规定。mock输入框反对填写数值和mockjs占位符。

  • 若填写数值,则调用繁难Mock的时候固定返回该数值
  • 若填写mockjs占位符,零碎会依据占位符的输出内容实时展现您可能想输出的值。您点击下拉选项中的可能值后,该值会疾速填入mock输入框中。

4、点击保留API文档,所增加的繁难Mock即可被调用。

2.2 调用繁难Mock

1、进入API文档展现页,下拉至返回参数模块,对应的返回后果题目下,会有繁难Mock链接

2、点击 繁难Mock 链接右侧的复制按钮即可复制到剪贴板,在代码中间接对该地址发动申请即可失去对应后果的虚构数据。

2.3 删除繁难Mock

进入API文档编辑页,在对应的返回后果中,清空对应字段的mock值后,调用该繁难Mock时,对应字段返回零碎默认的随机数据。