吐血整理,新项目整体使用了Mock接口作为测试,中途遇见了很多不知道怎么解决的地方,整理一下,希望也能帮助到你。
一般在项目中会封装一个axios接口文件一个mock文件,这里面就不封装了,为了更直观的展示。
文章目录
一、前端调用格式
import Axios from 'axios'
Axios.get('http://127.0.0.1/api/list')
.then((res: any) => {
// do sth })
.catch((err: any) => {
// do sth })
二、最简单的mock接口
- 无论get、post、delete、patch请求方式,都可以返回数据。
- 普通的接口请求列表和增删改查的接口URL不同,比如获取用户列表的接口是 ‘/usersList’,新增用户是’/addUser’,删除用户是’/deleteUser’,所以模拟这个情况的接口,定义多个最简单的Mock接口就可以解决。
Mock.mock(`http://127.0.0.1/api/usersList`, {
code: 1,
msg: 'success',
data: {
total: '@natural(1,1000)', // 随机生成一个1-1000之间的数值
'list|1-10': [{
// list 是一个随机生成一个1-10个对象的数组
'id|+1': 1, // 自增+1,初始值1
name: '@cname', // 随机生成一个name
age:'@natural(1,100)' // 随机生成一个1-100之间的数值
}]
}
})
三、规定 method
- 当接口是Resrful风格,获取用户列表接口是[GET] /users,新增用户是[POST] /users,接口URL一样,所以此时要规定 method。
Mock.mock(url,method)
传入的第2个参数为当前接口规定的 method。
Mock.