文章正文
axios-mock-adapter:axios的模拟调试器使用示例
【文章】2020-04-23
简介axios-mock-adapter:axios的模拟调试器使用示例
1、安装
1.1 npm方式
npm install axios-mock-adapter --save-dev
1.2 script引入方式
<script src="https://unpkg.com/axios-mock-adapter/dist/axios-mock-adapter.js"></script>
2、引入
2.1 es6引入方式
import
import axios from 'axios';
import MockAdapter from 'axios-mock-adapter';
2.2 require引入方式
var axios = require('axios');
var MockAdapter = require('axios-mock-adapter');
3、使用
3.1模拟get请求
//导入模块
import axios from 'axios';
import MockAdapter from 'axios-mock-adapter';
// 设置模拟调试器实例
var mock = new MockAdapter(axios);
// 模拟任意GET请求到 /users
//reply的参数为 (status, data, headers)
mock.onGet('/users').reply(200, {
users: [
{ id: 1, name: 'John Smith' }
]
});
axios.get('/users')
.then(function(response) {
console.log(response.data);
});
3.2 模拟一个GET请求带参数的parameters
mock.onGet('/users', { params: { searchText: 'John' } }).reply(200, {
users: [
{ id: 1, name: 'John Smith' }
]
});
axios.get('/users', { params: { searchText: 'John' } } )
.then(function(response) {
console.log(response.data);
});
3.3 传递一个function to reply
//在初始化模拟调试器的时候,设置几秒的延迟:响应的延迟
var mock = new MockAdapter(axiosInstance, { delayResponse: 2000 });
mock.onGet('/users').reply(function(config) {
//config是axios config
//返回一个数组[status, data, headers]
return [200, {
users: [
{ id: 1, name: 'John Smith' }
]
}];
});
3.4 没有具体路径的时候
// 拒绝所有的 POST 请求,返回 HTTP 500
mock.onPost().reply(500);
3.5 模拟一个put请求 body/data
mock.onPut('/product', { id: 4, name: 'foo' }).reply(204);
4、示例
let mock = new MockAdapter(axios);
// 模拟成功请求
mock.onGet('/success').reply(200, {
msg: 'success'
});
// 模拟错误请求
mock.onGet('/error').reply(500, {
msg: 'failure'
});
//模拟登录 POST
mock.onPost('/login').reply(config => {
let {username, password} = JSON.parse(config.data);
return new Promise((resolve, reject) => {
let user = null;
setTimeout(() => {
let hasUser = LoginUsers.some(u => {
if (u.username === username && u.password === password) {
user = JSON.parse(JSON.stringify(u));
user.password = undefined;
return true;
}
});
if (hasUser) {
resolve([200, { code: 200, msg: '请求成功', user }]);
} else {
resolve([200, { code: 500, msg: '账号或密码错误' }]);
}
}, 1000);
});
});
axios.post('/login', params).then(res => res.data);
//模拟批量删除 GET
mock.onGet('/user/batchremove').reply(config => {
let { ids } = config.params;
ids = ids.split(',');
***_Users = _Users.filter(u => !ids.includes(u.id));***
return new Promise((resolve, reject) => {
setTimeout(() => {
resolve([200, {
code: 200,
msg: '删除成功'
}]);
}, 500);
});
});
axios.get(`${base}/user/batchremove`, { params: params });
打赏支持
感谢您的支持,加油!
打开微信扫码打赏,你说多少就多少
找书费时,联系客服快速获取!
在线客服8:30-22:30,若离线请留言!
获取教程,请联系在线客服!
在线客服8:30-22:30,若离线请留言!
热门阅读
-
电磁兼容原理与应用 方法、分析、电路、测量 原书第3版 (加拿大)大卫·A.韦斯顿著;杨自佑,彭聪,陈倩译 北京:机械工业出版社 PDF 7111634997 2020.pdf
电磁兼容原理与应用 方法、分析、电路、测量 原书第3版 (加拿大)大卫·A.韦斯顿著;杨自佑,彭聪,陈倩译 北京:机械工业出版社 PDF 7111634997 2020.pdf ...
-
电磁兼容原理与应用 (加)大卫A.韦斯顿(DavidA.Weston)著;杨自佑,王守三译 北京:机械工业出版社 PDF 9787111498575 2015.pdf
电磁兼容原理与应用 (加)大卫A.韦斯顿(DavidA.Weston)著;杨自佑,王守三译 北京:机械工业出版社 PDF 9787111498575 2015.pdf ...
-
掌握赫斯特周期分析 赫斯特独创市场周期分析系统的现代处理方法 克里斯托弗格拉夫顿著;康民付沛 武汉:华中科技大学出版社 PDF 9787568026437 出版时间:2017.pdf
掌握赫斯特周期分析 赫斯特独创市场周期分析系统的现代处理方法 克里斯托弗格拉夫顿著;康民付沛 武汉:华中科技大学出版社 PDF 9787568026437 出版时间:2017.pdf ...
-
时间周期准确提示买卖点 赵信著 广州:广东经济出版社 PDF 9787545451092 2017.pdf
时间周期准确提示买卖点 赵信著 广州:广东经济出版社 PDF 9787545451092 2017.pdf ...
-
你要去相信,没有到不了的明天 增订本 卢思浩著 长沙:湖南文艺出版社 PDF 9787540487973 2018.pdf
你要去相信,没有到不了的明天 增订本 卢思浩著 长沙:湖南文艺出版社 PDF 9787540487973 2018.pdf ...
-
哥德尔 艾舍尔 巴赫 集异璧之大成 (美)侯世达译 北京:商务印书馆 PDF 9787100013239 2019.pdf
哥德尔 艾舍尔 巴赫 集异璧之大成 (美)侯世达译 北京:商务印书馆 PDF 9787100013239 2019.pdf ...
-
Python源码剖析 深度探索动态语言核心技术 陈儒 电子工业出版社 PDF 9787121068744 出版时间:2008年06月.pdf
Python源码剖析 深度探索动态语言核心技术 陈儒 电子工业出版社 PDF 9787121068744 出版时间:2008年06月.pdf ...
-
Python源码剖析 深度探索动态语言核心技术 陈儒 电子工业出版社 PDF 9787121068744 出版时间:2008年06月.pdf
Python源码剖析 深度探索动态语言核心技术 陈儒 电子工业出版社 PDF 9787121068744 出版时间:2008年06月.pdf ...
-
怎样阅读照片 (英)伊安·杰弗里著;(前言)马克斯·库兹洛夫,毛卫东译 杭州:浙江摄影出版社 PDF 9787551406765 出版时间:2014.pdf
怎样阅读照片 (英)伊安·杰弗里著;(前言)马克斯·库兹洛夫,毛卫东译 杭州:浙江摄影出版社 PDF 9787551406765 出版时间:2014.pdf ...
-
FFmpeg从入门到精通 刘歧,赵文杰编著 北京:机械工业出版社 PDF 9787111592204 出版时间:2018.pdf
FFmpeg从入门到精通 刘歧,赵文杰编著 北京:机械工业出版社 PDF 9787111592204 出版时间:2018.pdf ...