繁体   English   中英

当使用Node Express作为代理服务器时,我可以在我的React项目中同时使用模拟数据和代理api数据吗?

[英]Can I use mock data and proxy api data at the same time in my react project when using node express as a proxy server?

在我的React项目开发过程中,我使用express来配置代理服务器。 有一个api接口调用总是失败,所以我想模拟这个。 我尝试了很多次,但还是失败了。 有人知道如何配置吗? 非常感谢您的回复。

我有一个类似的要求,我只需要模拟几个调用并为其他调用原始API。 为此,我破解了一个可以同时进行代理和模拟的工具Beeceptor 您可以定义模拟规则来决定何时进行模拟,然后将其他调用路由到原始API。

该工具托管于语言/平台,与语言/平台无关,并提供子域/端点。

(免责声明:我是Beeceptor的作者,在此分享,因为它可以满足确切的需求。)

我发现使用“ node express”和“ http-proxy-middleware”,可以同时使用模拟数据和代理api数据。 详情如下所示:

1)创建一个mock.js文件,该文件定义了模拟数据的请求路径和响应主体:

const express = require('express');
const router = express.Router();

router.post('/mock/api/login', function (req, res, next) {
    res.json({
        "payload": {},
        "errorMsg": {
        "errorCode": null,
        "errorMsg": ""
    },
    "status": 0
  })
})

2)在main.js中

const express = require('express');
const proxy = require('http-proxy-middleware');
const apiProxy = proxy({
    target: 'http://192.168.1.40:8080',
    changeOrigin: true
});
 const app = express() ;
 const mockDatas = require('./mock.js');
 app.use('/', mockDatas);
app.use('/api', apiProxy);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM