为了不影响大家的学习,如果后端的api数据还没有生成,可以先使用mock.js来模拟数据接口,提供对外服务的api接口。

第三章

  • 1、Mock.js 解决什么问题
  • 2、设么是Mock.js
  • 3、使用EasyMock
    • 3.1 什么是 EasyMock
    • 3.2 创建项目
    • 3.3 创建测试数据接口
    • 3.4 调用数据接口
    • 3.5 Post 请求带参数 报请求超时
    • 3.6 解决方案

对接 Mock.js 模拟数据接口

1、Mock.js 解决什么问题

  • 问题
    前后端分离项目,前端和后端人员都是根据 API 文档进行开发项目的,不应该直接相互依赖, 前端人员不应该等
    待后端开发好接口后再进行测试,既然不依赖后端接口,那前端人员应该如何测试呢?
  • 解决
    可以通过模拟数据生成器,通过一定规则 (API文档)生成模拟数据接口, 提供给前端人员进行测试。

2、设么是Mock.js

  • 官网:http://mockjs.com/
  • 文档:https://github.com/nuysoft/Mock/wiki
  • Mock.js 是用于生成随机数据,拦截 Ajax 请求。
    通过拦截 Ajax 请求,根据数据模板生成并返回模拟数据,让前端攻城师独立于后端进行开发,帮助编写单元测试。

3、使用EasyMock

3.1 什么是 EasyMock

Easy Mock 是一个可视化,并且能快速生成模拟数据的服务。是杭州大搜车无线团队出品的一个极其简单、高效、可视化、并且能快速生成模拟数据的在线 Mock 服务 。
现在 Easy Mock 内置了 Mock.js,我们可以更愉快的伪造数据了
网址下载: https://github.com/easy-mock/easy-mock

$ git clone https://github.com/easy-mock/easy-mock.git
$ cd easy-mock && npm install
  • 注意:
    easy-mock 的安装还是比较麻烦,需要事先安装mongodb redis 。

3.2 创建项目

  1. 访问 http://192.168.16.11:7300/ ,进行登录。
    注意:没有单独的注册页面,第一次输入的用户名和密码会自动帮你注册。
  2. 点击右下角 + , 创建一个项目
  3. 创建一个项目,如下:

3.3 创建测试数据接口

  1. 点击 创建接口

  2. EasyMock 添加模拟数据配置
    请求地址:/test
    请求方式:get

{"code": 20000,
"message": "操作成功"
}


3. 点击预览,测试数据接口是否正常

3.4 调用数据接口

  1. 在 vue.config.js 文件中使用 devServer.proxy 选项进行代理配置
    注意:复制自己创建的 Base URL
 devServer: {port: port,open: true,overlay: {warnings: false,errors: true},before: require('./mock/mock-server.js'),// 开发环境配置proxy: {[process.env.VUE_APP_BASE_API]: { // 是.env.development 文件的'/dev-api':// 目标服务器地址target: ' https://192.168.16.11:7900/mock/64557f4faf3bc37f99a23c05/db',changeOrigin: true, // 开启代理服务器,pathRewrite: {// '^/dev-api': '',['^' + process.env.VUE_APP_BASE_API]: ''}}}}
  1. 创建 src/api/test.js 文件,定义调用接口 API
import request from '@/utils/request'
export default {test() {return request({url: '/test',method: 'get'})}
}
  1. 调用接口获取数据
src/views/dashboard/index.vue
<script>
// 引入 api
import api from '@/api/test'
export default {name: 'Dashboard',created() {this.fetchData()},methods: {fetchData() {api.test().then(response => {console.log(response)})}}
}
</script>
  1. 访问 http://localhost:9528/#/dashboard 查看浏览器是否打印值

3.5 Post 请求带参数 报请求超时

  1. post接口
    修改下 /test 接口请求方式为 post

  2. 修改 src/api/test.js 文件,定义调用接口 API
    通常post调用的时候都会传输数据

import request from '@/utils/request'
export default {test() {return request({url: '/test',method: 'post',data: {'name': '数哥'}})}
}
  1. 重启,访问页面报错
    Axios 如果发送Post请求,并且带上请求参数时,会一直报请求超时,如下
  2. 原因:
    这个问题是因为mock-server中express的中间件body-parser导致的,表现为不带参数请求没有问题,带上

3.6 解决方案

  1. 将 mock\mock-server.js 文件下面的注释掉,再加上新的(大概第12行)
  for (const mock of mocksForServer) {// app[mock.type](mock.url, mock.response)app[mock.type](mock.url, bodyParser.json(), bodyParser.urlencoded({extended: true}), mock.response)      mockLastIndex = app._router.stack.length}
  1. 然后往下拉,找到下面的注释掉
  // parse app.body// https://expressjs.com/en/4x/api.html#req.body// app.use(bodyParser.json())// app.use(bodyParser.urlencoded({//   extended: true// }))
  1. 修改后,完整的图示:

  2. 验证

前端003_模拟数据接口_easymock相关推荐

  1. 前端之模拟数据 - HackerVirus - 博客园

    阅读目录 玩转前端之模拟数据 回到目录 玩转前端之模拟数据 博客园主页:http://www.cnblogs.com/handoing/ 是否还在为前端模拟数据头疼? 是否还在为后端返回数据格式较多内 ...

  2. 前端项目模拟数据两种方式

    文章目录 1. Mock.js 1.1 安装依赖包mockjs 1.2 在 src 目录下创建 mock 文件夹 1.3 准备模拟的数据 1.4 创建 mockServer.js 1.5 引入mock ...

  3. 前端 mockjs模拟数据

    mockjs文档: Mock.js 1.下载mockjs npm install mockjs --save //开发环境 2.在src下新建mock文件并导入index.js import Mock ...

  4. 前端常用api数据接口汇总~把一些失效的去掉了。

    接口分类 笔记 出行 词典 电商 地图 电影视频 即时通讯 快递查询 旅游 社交 天气 图片与图像处理 外卖 消息推送 音乐 云 语义识别 语音识别 杂志 综合 笔记 印象笔记提供了ActionScr ...

  5. 推荐一个非常好用的在线模拟数据接口

    官方网站:https://www.easy-mock.com 使用方法:登录后创建接口,在编辑接口里写自己想要的数据. 最后加上接口名称访问即可. get请求案例:https://www.easy-m ...

  6. 关于App开发:模拟服务器数据接口 - MockApi

    为了方便app开发过程中,不受服务器接口的限制,便于客户端功能的快速测试,可以在客户端实现一个模拟服务器数据接口的MockApi模块.本篇文章就尝试为使用gradle的android项目设计实现Moc ...

  7. mock模拟的数据能增删改查吗_Mock.js模拟数据,脱离后端独立开发,实现增删改查功能...

    在目前容近对端手近对端手近对端手近对端手近我们的生产实际中,后端的接口往往是较晚才会出来,并且还要写接口文档,于是我们的前端的许多开发都要等到接口给我们才能进行,这样对于我们前端来说显得十分的被动,于 ...

  8. 没有json数据,自己造!mockjs的使用-模拟数据其实超级简单

    虽然mockjs已经有好几年没有更新了,但是这个其实跟年限无关,因为它最终的目的是生成模拟json. 而且mockjs可以用于任何webpack项目中,也就是可以在已有的项目中添加mockjs.比如w ...

  9. web前端与后台数据交互

    1.前端请求数据URL由谁来写? 在开发中,URL主要是由后台来写的,写好了给前端开发者.如果后台在查询数据,需要借助查询条件才能查询到前端需要的数据时,这时后台会要求前端提供相关的查询参数,这里的查 ...

最新文章

  1. Win7+Ubuntu双系统,如何卸载Ubuntu系统?
  2. 休眠日志:常见问题的提示和解决方案
  3. Python连接telnet客户端连接服务端程序
  4. self-trainning, co-trainning
  5. 从 Elasticsearch 来看分布式系统架构设计
  6. MySQL--字符编码和字符集
  7. MATLAB 不使用科学计数法 显示坐标 及理解
  8. python pdfplumber 打开文件失败_喜大普奔 | 如何在Win10下利用Python打开grib文件
  9. 使用nvidia-nsight编译器开发C/C++以及cuda编程
  10. 游戏开发入门如何点亮技术树?
  11. 目标跟踪之Pysot系列代码训练(SiamRPN\SiamRPN++)
  12. 大屏布局css,前端大屏项目的屏幕适配方案
  13. GOlang将华氏温度转换为摄氏温度的函数
  14. latex 定理环境,引理,定义,自定义 proof 环境
  15. 关于使用idea输入中文时,候选框不出现在光标附近的问题
  16. 做一个企业网站需要多少钱?
  17. Visual Studio中的Android模拟器使用详解
  18. 知识分享!Wi-Fi HaLow 和传统 Wi-Fi 的区别-道合顺大数据Infinigo
  19. Unity脚本(一)
  20. 逆战班学习之javascript内置对象之–数组

热门文章

  1. 春晚的“力量”:一封红包开启云计算新天地
  2. WEB前端涉及的布局、结构化和标准化
  3. 计算机语言周长,C语言计算矩形的周长和面积
  4. 重磅干货!AI智能服务体系搭建与实践培训班11月24-25日上海开课
  5. MATLAB对于自控题目的解答实用代码
  6. 2018 香港大学面试经历(Msc in Computer Science) 上香还愿
  7. 关于这次安装Oracle
  8. 毕业设计:自主开发的害虫识别系统--文档附源码
  9. 基于EKF的车辆状态估计系统建模
  10. 人工智能之数学基础篇—高等数学基础(上篇)