开发者社区> 游客xttuygvydfpru> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

强大的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 详细文档。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
无需编程,基于微软mssql数据库零代码生成CRUD增删改查RESTful API接口
通过之前一篇文章 无需编程,基于甲骨文oracle数据库零代码生成CRUD增删改查RESTful API接口 的介绍,引入了FreeMarker模版引擎,通过配置模版实现创建和修改物理表结构SQL语句,并且通过配置oracle数据库SQL模版,基于oracle数据库,零代码实现crud增删改查。本文采用同样的方式,很容易就可以支持微软SQL Server数据库。
47 0
如何大规模交付高质量、高一致性的RESTful API及配套产物
近年来互联网技术发展飞速,API生态迅速扩张,从RPC到REST,再到现在的GraphQL,不同的风格和规范,在一定程度上,确实是在让开发者更好的在项目中开发和使用API,但是在如何交付高质量、高一致性的API(尤其是RESTful风格的API)及配套产物的方面,还没有非常实质性的推进,本文作者将会结合自身开发经验以及在云厂商的大规模开放API的设计经验,通过对RESTful相关论文的阅读,典型的RESTful风格的API规范(Google Cloud和Github的RESTful风格的API规范)探索,以及对在多团队协同开发、交付高一致性的RESTful API所面临的困难。
10710 0
邀您参与 | 阿里巴巴如何扩展 K8s 调度器支持 AI 和大数据任务?
2020 年 7 月 15 日上午 10:00,《阿里巴巴如何扩展 K8s 调度器支持 AI 和大数据任务?》主题线上网络研讨会即将召开。
566 0
JavaWeb初识 ServletRequest与 ServletResponse、ServletResponse参数
也可以根据本地路由器ip进行链接 java对响应头和请求头进行了封装 request(请求头) response(响应头) ser...
3481 0
Postman - 功能强大的 API 接口请求调试和管理工具
  Postman 是一款功能强大的的 Chrome 应用,可以便捷的调试接口。前端开发人员在开发或者调试 Web 程序的时候是需要一些方法来跟踪网页请求的,用户可以使用一些网络的监视工具比如著名的 Fiddler 等抓包调试工具,今天介绍的这款工具在接口维护更加方便,支持定义和运行接口测试,可以说是 Chrome 应用最好用的接口调试工具之一。
1659 0
postgresql C/C++ API 接口
1,postgresql学习uri推荐 http://www.php100.com/manual/PostgreSQL8/ http://www.php100.com/manual/PostgreSQL8/reference.
944 0
MySQL数据导入导出方法与工具mysqlimport
MySQL数据导入导出方法与工具mysqlimport 1.mysqlimport的语法介绍: mysqlimport位于mysql/bin目录中,是mysql的一个载入(或者说导入)数据的一个非常有效的工具。
1159 0
20
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载