Express 如何在两个';app.post';服务器上的方法?(节点/快车)

Express 如何在两个';app.post';服务器上的方法?(节点/快车),express,methods,scope,Express,Methods,Scope,我有一个express服务器,它接收包含json的.post。我需要使用初始.post中的数据调用不同的API 如何传递从一个API调用接收到的数据,并在不同的API调用中使用它 下面是代码,这是一系列API调用的一部分,逻辑性更强,但为了清晰起见,我在这里对其进行了简化 服务器接收数据: app.post("/pay", (req, res) =>{ const userInput = req.body.userInput } 不同的API需要使用userInput: app.po

我有一个
express
服务器,它接收包含
json
.post
。我需要使用初始
.post
中的数据调用不同的API

如何传递从一个API调用接收到的数据,并在不同的API调用中使用它

下面是代码,这是一系列API调用的一部分,逻辑性更强,但为了清晰起见,我在这里对其进行了简化

服务器接收数据:

app.post("/pay", (req, res) =>{
  const userInput = req.body.userInput
}
不同的API需要使用
userInput

app.post("/reply", (req, res) =>{
  console.log(userInput)}

有什么想法吗?

如果你想在同一台服务器上实现多个功能,只需将它们注册为连续的中间件即可。从左到右依次调用中间件。调用下一个处理程序

app.post('/pay', handler1, handler2....)
执行此操作时,您通常会发现提取处理程序(通常称为控制器)非常有用,以便可以在其他地方对其进行单元测试和调用:

控制器示例:

const makePayment = (req, res, next) => {
  // handler logic
}

const createUser = (req, res, next) => {
  // handler logic
}

module.exports = {
  makePayment,
  createUser
}
import Controllers from '<path to controllers>'
app.post('/pay', Controllers.makePayment, Controllers.createUser)
路由器:

const makePayment = (req, res, next) => {
  // handler logic
}

const createUser = (req, res, next) => {
  // handler logic
}

module.exports = {
  makePayment,
  createUser
}
import Controllers from '<path to controllers>'
app.post('/pay', Controllers.makePayment, Controllers.createUser)

非常感谢你。我能理解这个概念。如果你不介意的话,可以快速跟进。。我有三个处理程序,post1>>get1>>post2。当post1被点击时,它会打电话给PayPal,然后PayPal会点击get1。只有在成功调用get1时,post2才会激活。您认为这会与您建议的控制器逻辑一起工作吗?实际上,我认为可以通过在调用.get方法时将“flag”变量设置为
true
来实现这一点。再次感谢,一旦我让它工作,我肯定会接受:)你也可以检查get的状态。在一个使用
axios
的示例中,请求是对变量
res
发出的,我会做一些类似于if(res.status==200){…}或者{…}的事情,我可以看到这回答了我所问的问题,不幸的是,我认为它不适用于我的特定用例。