【问题标题】:Why I'm getting Req.Req (Nested request) with this configuration in express?为什么我得到 Req.Req (嵌套请求)这个配置在 express 中?
【发布时间】:2020-09-22 13:14:00
【问题描述】:

编辑:如果您遇到嵌套请求或响应的问题。检查参数的顺序,或使用 express.router({margeParams: true}) 选项。

我的请求正在被另一个对象请求包装。

我必须以这种方式访问​​“req.body”-> req.req.body 那是因为我的配置?

我有一个具有此配置的快速服务器:

import express from 'express';
import routes from './routes.js';

const app = express();

app.use(express.json());
app.use(express.urlencoded({ extended: true }));
app.use('/api', routes);

server.listen(80);

这是 routes.js

import express from 'express';
import webhooksRoutes from './controllers/Webhooks/webhooksRoutes.js';

const routes = express.Router();
routes.use('/webhooks', webhooksRoutes);

这是 webhooksRoutes.js

import express from 'express';
const userRoutes = express.Router();

userRoutes.post('/orders', orderWebhooks);

这是 orderWebhooks.js

const wirecardOrdersWebhooks = (res, req) => {
    // here the "real" request that come to the server is in res.res
    const realReq = req.req
}

【问题讨论】:

  • express应用中间件将第一个参数作为req

标签: node.js express express-router


【解决方案1】:

这里,第一个参数应该是res之前的req;

const wirecardOrdersWebhooks = (req, res) => {
   // here the "real" request that come to the server is in res.res
   const realReq = req.body
}

【讨论】:

  • omG,确实是这样。我看不到这是因为“res”LMFAO 中有一个“req”
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-08-08
  • 2023-01-12
  • 2015-05-16
  • 2021-04-11
  • 1970-01-01
相关资源
最近更新 更多