axios-mock-adapter的基本使用
阿新 • • 發佈:2018-12-23
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()
更多資訊請參考官方文件