vue中用mock制造模拟接口(本文主要解决坑),一定要看完哦

最近新入职一家公司,后端造接口速度很慢,想来想去还是搞一套模拟接口,来满足开发需求,有人会问,我造一个死数据不就可以了吗?或者说,后端数据结构都没出来,字段我怎么定?

问这个问题的人不奇怪,我之前也有这种疑问,mock造出来的数据是动态的.前端完全可以自己造数据结构,后端根据这个做一个模型就可以了,谁叫他们慢,字段嘛,实在要修改,他们确实不好改,前端改改就完事了;下面我将跟大家说说最近玩vue+mockjs的心得,

vue的项目搭建我就不多说了,有自己用vue-cli创建的,也有直接用webpack自己搭建,这都没关系;关键是跑的起来,以下拿大众化的来说(vue-cli创建的项目)

1,下载mockjs:    npm i  mockjs --save

2,直接在main.js里面引用,如图:(此处有坑,因为只在开发环境使用.if里面不能用import方式导入,只能用require方式引入)

当项目启动后,mock会拦截他规则内的http请求

3,新建mock.js文件,编辑mock.js文件,大概逻辑文件如下

好的,mock的基本配置已经完成,下面怎么使用呢;

4,现在vue项目中http请求用的最多是axios了,下面就是最关键的位置

问1:为什么我配置了感觉没问题,但是只能get请求,不能post请求,后者说post没有响应?

解:我猜想你是直接用axios.post(url,params)请求的,如图

这里还引发一个另外的问题,就是在mockjs里面也必须写http时候也必须加上http://localhost:8080/,如图

问2:那么我该如何配置axios呢?

解: 正确的方式是采用axios的请求拦截方式,如图:

拦截之后设置头,再去通过axios.post(url,params)后者axios.get(url,params)请求数据,

到了这里,你就可以在mock.js里面写正则了,也就是前面看到的第三步图片中的22行:

1   let data=Mock.mock(/^\/baidu*/,‘get‘,dataRes);

到了这里你可以正常post请求数据,也可以get请求数据,新的问题又产生了,

问3:为什么我在mock里面post可以拿到传参,但是get不能拿到呢?如图:

解:这个就是axios的问题了,它有两种三种传参方式:第一种是data,第二种是params,第三种是直接给个对象(适合post)

用params方式,(用get请求拿到的参数拼接在url后面)

用data方式(用get请求时mock中可以拿到请求参数)

直接给对象的方式,(用get请求时mock中拿不到请求参数,什么都没有)

那么post就比get传参简单了; 传参直接给对象就行

以上是个人学习心得,大神有骚操作,希望指点一下

原文地址:https://www.cnblogs.com/YKSlu/p/10421373.html

时间: 2024-07-30 05:32:01

vue中用mock制造模拟接口(本文主要解决坑),一定要看完哦的相关文章

接口和抽象类的区别 --相信你看完不会再混淆了

我想,对于各位使用面向对象编程语言的程序员来说,“接口”这个名词一定不陌生,但是不知各位有没有这样的疑惑:接口有什么用途?它和抽象类有什么区别?能不能用抽象类代替接口呢?而且,作为程序员,一定经常听到“面向接口编程”这个短语,那么它是什么意思?有什么思想内涵?和面向对象编程是什么关系?本文将一一解答这些疑问. 1.面向接口编程和面向对象编程是什么关系 首先,面向接口编程和面向对象编程并不是平级的,它并不是比面向对象编程更先进的一种独立的编程思想,而是附属于面向对象思想体系,属于其一部分.或者说,

vue使用mock.js模拟数据

一.安装1.安装 mock axiosnpm install mockjs axios --save2.安装axios-mock-adapteraxios-mock-adapter 是axios与mock配置器,简单来说就是把二者结合在一起的工具npm install axios-mock-adapter --save-dev 二.使用mock1.在src目录下,创建mock文件夹,在下面再创建data文件夹,创建数据文件,比如user.js,用于模拟生成用户信息数据,初始化我们需要的数据,这里

Vue中用props给data赋初始值遇到的问题解决

Vue中用props给data赋初始值遇到的问题解决 更新时间:2018年11月27日 10:09:14   作者:yuyongyu    我要评论 这篇文章主要介绍了Vue中用props给data赋初始值遇到的问题解决,小编觉得挺不错的,现在分享给大家,也给大家做个参考.一起跟随小编过来看看吧 前言 前段时间做一个运营活动的项目,上线后产品反馈页面埋点不对,在排查过程中发现,问题竟然是由于Vue中的data初始值导致,而data的初始值来自于props.为方便描述,现将问题抽象如下: 一.现象

数据传输中用到的模拟量和开关量指什么

很多人对工业数据传输过程中用到的模拟量和开关量这两个词非常的陌生,不知道是什么意思.单单从字面上看,并不知道他们分别代表什么意思.在工业上经常是需要对这两个数据进行传输的,以便观察采集的数据以及设备工作状态.对一个参数来说只有两种可能,不是模拟量的话必然是开关量,今天就带大家了解一下这两个术语到底是什么意思. 那么什么是模拟量?什么是开关量? 模拟量是一种连续变化的量,比如温度,从0~100度,压力从0~10Mpa,液位从1~5米,电动阀门的开度从0~100%等等,这些量都是模拟量. 开关量表示

fiddler-10-结合 Mock.js 伪接口数据进行测试(下)

前言 你会mock吗?第三方支付接口怎么测?数据只有一条,测不到前端的分页功能? 常见的 Mock 方式: 将模拟数据直接写在代码里 利用 JavaScript 拦截请求 利用 Charles. Fiddler 等代理工具拦截请求 本篇利用 fiddler 拦截,当您学会使用 fiddler 拦截 + Mock.js 后你会认识到它的强大的原因之一,不扯了直接开始吧. 一.生成多条数据进行测试 1.fiddler 抓包将接口返回数据拿下. 2.粘贴至 mock.js 创建接口,点击一下[格式化]

前后端分离——前端项目使用Mock.js 模拟数据

一.简单介绍一下Mock.js 众所周知Mock.js因为两个重要的特性风靡前端: 数据类型丰富支持生成随机的文本.数字.布尔值.日期.邮箱.链接.图片.颜色等.(详情见官网) 拦截 Ajax 请求不需要修改既有代码,就可以拦截 Ajax 请求,返回模拟的响应数据.安全又便捷 文章会用到的API(也是Mock经常使用的API): Mock.mock(url, type, data) 参数名 参数需求 参数描述 例子 url 可选: URL 字符串或 URL 正则 拦截请求的地址 /mock ty

ng中用$http接后台接口的异步坑

最近笔者在一个项目中用ng去接后台的接口.因为前后端都是新手,前端的不懂后台,且没有经验:后端的不懂前端,也没有经验,然后接口bug百出,文档写得乱.一个接口,后台改了三次,我也是寸步难行. 首先来看看接口文档,开始这次的异步坑话题: ① ② ③ 可以看到图③是页面中要提供后端数据的四个下拉框,图②是提供给图③中学校下拉框的数据(当然接口文档数据只是提供参考的,真正数据在sql中,所以显示在视图中的数据和接口文档中的数据不大一样),图①是提供用户的默认数据的接口. 看完这些,在这方面稍有经验的前

如何使用fiddler模拟接口服务器

1.案例描述案例:我们的APP使用了某天气预报接口,其接口描述如下:接口名称:根据城市名查询天气接口地址:http://v.juhe.cn/weather/index返回格式:json/xml请求方式:get请求示例:http://v.juhe.cn/weather/index?cityname=%E8%8B%8F%E5%B7%9E&key=您申请的KEY请求参数说明:名称必填类型说明citynameYstring城市名,如:"苏州",需要utf8 urlencodedtype

Windows PowerShell是啥?看完本文你就懂它了

这篇文章主要介绍了Windows PowerShell是啥?Windows PowerShell是什么?Windows PowerShell有哪些特性?Windows PowerShell有什么用?看完本文你就懂它了,需要的朋友可以参考下 一直很羡慕Linux的命令提示符(当然他们叫Shell).正则表达式,管道,各种神奇的命令,组合起来就能高效完成很多复杂的任务.效率实在是高.流了n年的哈喇子以后,终于有幸用上了Win7,邂逅了cmd的升级版:Windows PowerShell.从此暗爽无比