进入API文档详情页面,点击 Mock API 标签,点击新建 Mock API:
[upl-image-preview
url=http://data.eolinker.com/course/NdJ3vMJ410464ad8153433482c9356624b8478d5a947c33.png]
在弹窗中输入 Mock API 的名称以及请求触发条件,Mock API 对触发条件的优先级是:
填写了触发条件 |
优先级 |
效果 |
是 |
高 |
当包含了触发条件所需要的参数时,返回预期结果 |
|
中 |
当所有填写了触发条件的Mock API都无法被触发时,触发无条件的Mock API并且返回预期结果 |
|
低 |
当以上两种情况均无法触发 Mock API 时,系统返回提示信息。请检查请求协议、请求方法、请求参数是否符合 Mock API 的设置。 |
填写触发条件
触发条件支持请求头部、请求体(Form-data、JSON)、Query 参数等。
以下例子表示当 Form-data 参数中包含 user_name = jackLIu 时,返回静态的字符串数据:
[upl-image-preview
url=http://data.eolinker.com/course/eFH5B6r14bb33d67a721f4e5cc27fa0d506a01bbfbd8185.png]
以下例子表示当 Query 参数中包含 user_name = jackLIu 时,返回静态的字符串数据:
[upl-image-preview
url=http://data.eolinker.com/course/Bd7GPXW6160a22ce7f96cf51bd3295ec20aecc582ce7355.png]
填写响应结果
Mock API 提供了以下三种返回数据类型:
返回数据类型 |
描述 |
JSON |
根据 JSON 数据结构自动生成随机数据,支持 Mock JS 语法
|
Raw |
返回自定义的静态字符串数据 |
动态 Javascript |
通过编写 Javascript 生成返回数据,支持 Mock JS,数据通过
return
语句返回
|
JSON
如果不填写生成规则和属性值,系统会自动根据JSON结构以及数据类型来生成随机的数据。您也可以在生成规则和属性值中使用 Mock
JS
语法来生成自定义的数据。
[upl-image-preview
url=http://data.eolinker.com/course/dnzEB3b91f3200c329f1c5db47daa7cd6de069b62887510.png]
列 |
说明 |
参数名 |
JSON的字段名(Key) |
类型 |
字段类型 |
生成规则 |
属性值的重复次数,填写 1-10 表示随机生成1-10个属性值
|
属性值 |
JSON的字段值(Value),系统会根据 生成规则 对属性值进行处理
|
下图是Mock JS的官方示例,意为生成字符串长度介于1~10位的”★”
在 API 研发管理平台 中,上述的Mock JS的官方示例将会改写为如下例子:
[upl-image-preview
url=http://data.eolinker.com/course/h9Rcv6778be558901486e9d52b3a7ec1f65f71a48b663db.png]
如果不需要使用Mock JS,那么您可以直接在属性值填写静态数据即可:
[upl-image-preview
url=http://data.eolinker.com/course/pMHcakQ9094fbf61c2cbee8fcdad02932ab495fdd576107.png]
如果您希望系统自动根据字段的类型来生成数据,那么您可以不填写生成规则以及属性值:
[upl-image-preview
url=http://data.eolinker.com/course/YzsCQN57435c3e5b306a1d79d89943982b8a47442dbb774.png]
点击预览按钮得到的示例结果:
[upl-image-preview
url=http://data.eolinker.com/course/2PkD3M7f7dfd11239c60b099b27828baf4a779829760289.png]
Raw
当您不需要随机生成数据时,可以选择 Raw 类型并填写静态数据:
[upl-image-preview
url=http://data.eolinker.com/course/STRLfQz712e2f27d4e4721e3787e76c74a34c4d83614f78.png]
动态 Javascript
当您希望通过代码生成返回数据时,可以使用编写 Javascript 代码的方式,并使用 return 语句返回数据。Javascript 模式中也支持 Mock
JS,通过 Mock.mock() 方式调用,详情可以查阅 Mock JS
官方文档。
[upl-image-preview
url=http://data.eolinker.com/course/JPZYIiZbace6b2d195998189d4554f12ac6a73cb4351a62.png]
以下例子表示使用 Javascript 代码结合 Mock JS 生成 随机中文名+当前日期 的返回结果:
var date = new Date();
var seperator1 = "-";
var year = date.getFLISTlYear();
var month = date.getMonth() + 1;
var sthDate = date.getDate();
//在这里使用Mock JS 获取随机中文名
var userName = Mock.mock("@cname");
if (month >= 1 && month <= 9)
{
month = "0" + month;
}
if (sthDate >= 0 && sthDate <= 9)
{
sthDate = "0" + sthDate;
}
var currenTDate = year + seperator1 + month + seperator1 + sthDate;
return userName+seperator1+currenTDate;
点击预览按钮得到的示例结果:
[upl-image-preview
url=http://data.eolinker.com/course/Nqni1Jl3d03aa90bfef37c3636341ca1d12121d96df175e.png]