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){…}或者{…}的事情,我可以看到这回答了我所问的问题,不幸的是,我认为它不适用于我的特定用例。