axios-mock-adapter的基本使用
npm install axios --save
npm install axios-mock-adapter --save-dev //开发环境依赖
引入
//ES6 方式引入
import axios from 'axios'
import MockAdapter from 'axios-mock-adapter'
//创建默认实例对象
let Mock = new MockAdapter(axios)
使用
//get使用onGet
//post使用onPost
//put使用onPut
//匹配 url为api/auth/login的所有请求
//reply的参数列表 (status, data, headers)
//status 是http状态码 data是返回的json数据
Mock.onGet('api/auth/login').reply(200, {
code: 0,
msg: 'success'
})
//只匹配 url的参数name的值为John的请求
Mock.onGet('api/auth/login', {name: 'John'}).reply(200, {
code: 0,
msg: 'success'
})
//以函数形式处理
//config是axios的配置
Mock.onGet('api/auth/login').reply(config => {
//加一些逻辑判断
// 返回数组的格式 [status, data, headers]
return [200, {
code: 0,
msg: 'success'
}]
})
//只处理一次
Mock.onGet('api/auth/login').replyOnce(200, {
code: 0,
msg: 'success'
})
//使用正则表达式 匹配 /api
Mock.onGet(/\/^api/)
//没有匹配到url的默认处理
//拒绝所有的 POST 请求,返回 HTTP 500
Mock.onPost().reply(500);
//匹配任意请求方式 get post put.......
Mock.onAny('api/auth/login').reply(200);
//对路径为/api的请求放行 让它去请求服务器
Mock.onGet(/\/^api/).passThrough()
更多信息请参考官方文档