强大的mock数据生成工具--apipost

简介: 在APIPOST中使用Mock

APIPOST可以让你在没有后端程序的情况下能真实地返回接口数据,你可以用APIPOST实现项目初期纯前端的效果演示,也可以用APIPOST实现开发中的数据模拟从而实现前后端分离。在使用APIPOST之前,你的团队实现数据模拟可能是下面的方案中的一种或者多种:

  • 本地手写数据模拟,在前端代码中产生一大堆的mock代码。
  • 利用mockjs或者canjs的can-fixture实现ajax拦截,本地配置必要的json规则。
  • 后端在Controller层造假数据返回给前端。

上面的方式中,不管哪一种方式,都会要求开发人员写一些跟项目本无任何关联的代码,第一个和第二个方式还会需要前端项目在本地引入不必要的js文件。

使用APIPOST 的Mock 服务

您可以通过APIPOST 提供的Mock 服务实现上述功能。

编写Mock 规则

image.png

在APIPOST中,Mock 规则模板支持类型丰富(5.4版本起)。

基本数据(固定json结构)

{
  "code": "0",
  "data": {
    "name": "张三丰",
    "age": 100
  },
  "desc": "成功"
}

基本数据(Mock随机json结构)

{
  "code": "0",
  "data": {
    "list|20": [{
      "name": "@name",
      "age": "@integer(2)"
    }],
    "url": "https://echo.apipost.cn"
  },
  "desc": "成功"
}

RESTFUL逻辑数据

某些场景中,我们可能需要根据接口的入参规则,加入适当的逻辑处理后再返回数据。一个简单的场景就是登录场景,需要根据用户名密码,判断是否登录成功。再或者,我们需要根据产品ID动态返回产品信息,等等。

现在,ApiPost 的Mock 服务提供了这种场景的解决方案。
以下示例中,我们用到了 _req.body对象,其含义是:

当 post 请求以 x-www-form-urlencoded 或者application/json 方式提交时,我们可以拿到请求的参数对象。
{
  "code": "0000",
  "data": {
    "verifySuccess": function() {
      let body = _req.body;
      return body.username === 'admin' && body.password === '123456';
    },
    "userInfo": function() {
      let body = _req.body;
      if (body.username === 'admin' && body.password === '123456') {
        return Mock.mock({
          username: "admin",
          email: "@email",
          address: "@address"
        });
      } else {
        return null;
      }
    },
  },
  "desc": "成功"
}

填写Mock URL 相对地址

Mock URL相对地址是必填项(如果不填写的话,无法正常得到响应结果)。您可以通过在设置里开启“自动获取Mock URL地址”来自动获取Mock URL。

image.png

此项开启后,APIPOST将根据您输入的接口URL自动截取PATH部分作为Mock URL的相对路径。

利用APIPOST发送Mock URL

完成以上2步后,您可以通过在APIPOST中切换到“Mock 环境”来发送查看mock返回的详细数据。
image.png

将生成的mock URL地址发给前端

image.png

您可以将APIPOST生成的mock URL地址发给前端来代替您的接口地址,这样前端就可以使用您模拟的数据进行先一步的调试开发了。当您的接口完成后,再替换回来即可。

APIPOST的 mock 是基于mock.js 开发的。具体文档可以 参见 mock.js 详细文档。

相关文章
|
内存技术
STM32F103 五个时钟源
STM32F103 五个时钟源
1163 0
|
供应链 监控 搜索推荐
RFID在智能制造起到至关重要的作用
在智能制造快速发展的背景下,RFID技术广泛应用于生产、质检、供应链等多个环节,实现物料追踪、生产监控、质量追溯与智能配送,助力制造业向高效化、信息化和智能化转型。
|
前端开发 测试技术 程序员
告别手动填参数!Apipost黑科技让接口调试效率翻倍
参数处理是接口调试中的痛点,传统开发流程中占用了开发者大量时间。文章通过程序员小王的故事引出问题,详细介绍Apipost在动态构造接口签名、中文转义参数自动化、金融级数据安全测试和电商库存测试四个场景下的解决方案。此外,还深入讲解了项目级自定义函数的创建与使用,帮助开发者实现从手动处理到智能编排的跃迁,提升效率并减少错误。
|
9月前
|
存储 消息中间件 开发框架
8应用架构图
应用架构图是技术实现的蓝图,体现系统内外部应用间的调用与数据关系。基于业务架构,划分展现、业务、数据和基础层,明确技术选型与分层逻辑。单体架构四层分离,职责清晰;分布式架构体现SOA服务调用,突出内部集成与外部依赖。通过调用链路与边界标注,厘清系统定位,支撑产品演进。(238字)
|
安全 Linux
安装EPEL Repository Centos 7.9
记住,行走在Linux的世界,把“学习”作为你不可或缺的随身宝典。今天你学会了如何将EPEL这座外来的宝库接入你的系统,明天,你或许就能在这座宝库中发现一款能领你走向Linux大师之路的神器。
1238 7
|
JSON JavaScript 数据格式
vue导出excel表格vue-json-excel(最新超容易详细教程)
最近写项目有个功能需要将表格数据导出为excel表格,本文使用vue-json-excel插件实现该功能
2843 0
vue导出excel表格vue-json-excel(最新超容易详细教程)
|
大数据 API 数据库
进行实名认证的必要性,实名认证使用很简单(附教程)
网络平台通过大数据技术进行实名认证以验证用户身份的真实性。常用方法包括身份证、手机号和银行卡信息的核验,如身份证实名认证、公安人脸实名认证、手机三要素及二要素实名认证、以及银行卡要素验证等接口。实名认证广泛应用于游戏、电商、招聘、金融和安保等领域。为调试接口,推荐使用Postman工具,可通过简单的配置测试接口有效性,并导出所需语言的代码样例。具体步骤包括:设置Header中的Authorization字段,并按需配置body参数,最后导出代码以便直接使用。
|
JSON JavaScript 测试技术
apipost测试工具的基本使用
apipost测试工具的基本使用
3563 0
|
安全 测试技术 Python
零操作,高效下载:利用Playwright和Python完成文件下载
Playwright是Microsoft开发的跨浏览器自动化测试工具,能模拟用户操作,包括文件下载。在Python中,它提供`expect_download()`来处理文件下载,无需额外工具。下载开始时触发事件,完成后可通过`download.path()`获取路径。下载相关操作包括取消、删除、获取错误信息、所属页面、文件名、URL等。示例代码展示了如何下载pytest的压缩文件,简化了web自动化测试中的文件下载场景。