使用node express作为代理服务器时,我可以在我的反应项目中同时使用模拟数据和代理api数据吗?

问题描述:

在我的反应项目开发过程中,我使用express来配置代理服务器。有一个API接口调用总是失败,所以我想嘲笑这一个。我尝试了很多次,但仍然失败。有谁知道如何配置它?您的回应将不胜感激。使用node express作为代理服务器时,我可以在我的反应项目中同时使用模拟数据和代理api数据吗?

我有一个类似的需求,我只需要嘲笑几个调用,并为其他人打原始的API。为此,我同时为代理和嘲讽攻击了一个工具Beeceptor。您可以定义模拟规则以决定何时模拟,并将其他呼叫路由到原始API。

此工具是语言/平台不可知的,因为它托管并提供子域/端点。

(声明:我Beeceptor的作者,在这里分享,因为它满足了精确的需要)

+0

太棒了!感谢您的回答。 – Jamter

我发现,与“节点表达”和“HTTP代理中间件”,它可以同时使用模拟数据和代理API数据。细节如下:

  1. 创建mock.js文件,它定义模拟DATAS的请求路径和响应体:

常量表达=要求(“表示”); const router = express.Router();

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

    常量表达=要求( '表示');

    const proxy = require('http-proxy-middleware');

    常量apiProxy =代理({ 目标: 'http://192.168.1.40:8080', changeOrigin:真 });

    const app = express();

    const mockDatas = require('./ mock.js');

    app.use('/',mockDatas);

    app.use('/ api',apiProxy);

开始=>