vue3 使用 mock 模拟服务器接口

简介: vue3 使用 mock 模拟服务器接口

axios-mock-adapter

在前端开发中,需要模拟请求或者数据来做一些简单的调试,这里可以使用mock来模拟服务器接口;

1. 安装相应的包

这里需要安装两个包,一个是axios,一个是axios-mock-adapter

项目安装后,首先在cmd中安装:

npm install axios
npm install axios-mock-adapter --save-dev

2. 创建相关文件

在src目录下创建mock文件夹,然后在mock文件夹中放置两个文件,一个server.ts,一个index.ts

很明显我们是在server.ts中构造请求,在index.ts中暴露;

server.ts代码内容如下:

import axios from 'axios'
import MockAdapter from 'axios-mock-adapter'
export default {
  bootstrap() {
    var mock = new MockAdapter(axios)
    // 在这里写构造请求
  }
}

index.ts代码内容如下:

import mock from './server'
export default mock

main.ts中添加两行:

import mock from './mock'
mock.bootstrap()

3. 构建请求

注意replay返回的是一个数组就好了

Get

无参数:

mock.onGet("/users").reply(200, {
  users: [{ id: 1, name: "John Smith" }],
});
axios.get("/users").then(function (response) {
  console.log(response.data);
});

有参数:

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);
  });

Post

mock.onPost('/api/user/info').reply(function (config){
      console.log(config)
      return [200, {status: 'success'}]
    })
axios.post('/api/user/info', {user:123, password:123}).then(res=>console.log(res))

注意

在搭配axios使用mock时,如果需要对axios进行二次封装,那mock就不应该使用axios,而是使用新封装的玩意进行处理;

// 假设二次封装后为request
import request from './utils/request'
// mock操作 var mock = new MockAdapter(request)
var mock = new MockAdapter(request)

这样就可以避免request请求后老是报错的问题;


目录
相关文章
|
8月前
|
Web App开发 前端开发 JavaScript
SAP UI5 应用开发教程之八十七 - 如何让 SAP UI5 Mock 服务器支持自定义 url 参数试读版
SAP UI5 应用开发教程之八十七 - 如何让 SAP UI5 Mock 服务器支持自定义 url 参数试读版
52 0
|
5天前
|
弹性计算 网络安全
阿里云OpenAPI提供了多种接口来管理ECS实例
【1月更文挑战第8天】【1月更文挑战第36篇】阿里云OpenAPI提供了多种接口来管理ECS实例
231 1
|
7月前
|
存储 安全 PHP
【100天精通Python】Day48:Python Web开发_WSGI网络服务器网关接口与使用
【100天精通Python】Day48:Python Web开发_WSGI网络服务器网关接口与使用
68 0
|
8月前
|
Web App开发 前端开发 JavaScript
SAP UI5 应用开发教程之八十六 - 动手开发一个最简单的本地 Mock 数据服务器试读版
SAP UI5 应用开发教程之八十六 - 动手开发一个最简单的本地 Mock 数据服务器试读版
46 0
|
8月前
|
Shell Linux 应用服务中间件
ABAP 面试题:如何使用 ABAP 编程语言的 System CALL 接口,直接执行 ABAP 服务器所在操作系统的 shell 命令?
ABAP 面试题:如何使用 ABAP 编程语言的 System CALL 接口,直接执行 ABAP 服务器所在操作系统的 shell 命令?
115 0
|
5天前
|
数据采集 前端开发 JavaScript
vue3 + fastapi 实现选择目录所有文件自定义上传到服务器
vue3 + fastapi 实现选择目录所有文件自定义上传到服务器
41 0
|
5天前
|
小程序 开发者
体验版小程序为何无法访问云端服务器后端接口(请求失败...(已完美解决附加图片))?
体验版小程序为何无法访问云端服务器后端接口(请求失败...(已完美解决附加图片))?
25 0
|
5天前
|
JavaScript API
本地开发环境请求服务器接口跨域的问题(vue的问题)
本地开发环境请求服务器接口跨域的问题(vue的问题)
28 1
|
5天前
|
弹性计算 网络安全
阿里云OpenAPI提供了多种接口来管理ECS实例
【2月更文挑战第1天】阿里云OpenAPI提供了多种接口来管理ECS实例
35 0
|
8月前
|
Shell Linux 应用服务中间件
使用 ABAP 编程语言的 System CALL 接口,直接执行 ABAP 服务器所在操作系统的 shell 命令
使用 ABAP 编程语言的 System CALL 接口,直接执行 ABAP 服务器所在操作系统的 shell 命令
82 0

热门文章

最新文章