使用node express作为代理服务器时,我可以在我的反应项目中同时使用模拟数据和代理api数据吗?
问题描述:
在我的反应项目开发过程中,我使用express来配置代理服务器。有一个API接口调用总是失败,所以我想嘲笑这一个。我尝试了很多次,但仍然失败。有谁知道如何配置它?您的回应将不胜感激。使用node express作为代理服务器时,我可以在我的反应项目中同时使用模拟数据和代理api数据吗?
答
我有一个类似的需求,我只需要嘲笑几个调用,并为其他人打原始的API。为此,我同时为代理和嘲讽攻击了一个工具Beeceptor。您可以定义模拟规则以决定何时模拟,并将其他呼叫路由到原始API。
此工具是语言/平台不可知的,因为它托管并提供子域/端点。
(声明:我Beeceptor的作者,在这里分享,因为它满足了精确的需要)
答
我发现,与“节点表达”和“HTTP代理中间件”,它可以同时使用模拟数据和代理API数据。细节如下:
- 创建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
})
})
-
在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);
太棒了!感谢您的回答。 – Jamter