首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >axios-模拟适配器,如果我模拟这些请求,那么只处理我所模拟的请求。

axios-模拟适配器,如果我模拟这些请求,那么只处理我所模拟的请求。
EN

Stack Overflow用户
提问于 2018-05-09 03:31:08
回答 2查看 3.3K关注 0票数 1

我正在尝试模拟尚未在服务器上实现的API。但是,如果我模拟这些请求,那么只处理我所模拟的请求。如果我在mock.restore();之后添加mock.onGet,那么真正的API工作得很好,但是我也不需要模拟API。

代码语言:javascript
复制
import * as axios from 'axios';
import MockAdapter from 'axios-mock-adapter';

const mainConfig = require('../../../config/main.js');

const request = (axios as any).create({
  baseURL: mainConfig.apiBaseUrl,
  headers: {
    'Content-Type': 'application/json',
  },
});

const mock = new MockAdapter(request);

mock.onGet('basket').reply(200, {...});

export default request;
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-05-09 06:29:42

正如图书馆文献解释的那样,应该显式地允许未模拟的请求:

代码语言:javascript
复制
// Mock specific requests, but let unmatched ones through
mock
  .onGet('/foo').reply(200)
  .onPut('/bar', { xyz: 'abc' }).reply(204)
  .onAny().passThrough();
票数 6
EN

Stack Overflow用户

发布于 2021-07-01 03:26:43

添加到@Estus应答后,我们还可以将其他请求转发到下面的服务器。

代码语言:javascript
复制
// Mock all requests to /foo with HTTP 200, 
// but forward any others requests to server
var mock = new MockAdapter(axiosInstance, { onNoMatch: "passthrough" });

mock.onAny("/foo").reply(200);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50245109

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档