axios-mock-adapter的基本使用

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()

更多信息请参考官方文档

猜你喜欢

转载自blog.csdn.net/qq_35881988/article/details/85222320
今日推荐