【问题标题】:How to trigger GET request from another GET request in Express?如何从 Express 中的另一个 GET 请求触发 GET 请求?
【发布时间】:2021-08-04 07:32:44
【问题描述】:

我有一个获取表单数据的 GET 请求,然后我需要在另一个路由上触发第二个 GET 请求,将表单数据提供给 REST API。我可以通过 Postman 手动执行此操作,但我希望第一个 GET 请求触发第二个。

这就是想法:

app.get('form', (req,res,next) => {
    //Get form data
    //Pass form data
    //Trigger next request
})

app.get('API', (req,res,next) => {
    //Get data from previous request
    //Use data in params
})

如果有任何反馈,我将不胜感激!到目前为止,我发现了一些关于 app._router.handle 的帖子,但一直无法正确实现。

【问题讨论】:

  • 您可以将回调处理程序存储为变量。一旦调用了form GET 请求,您只需调用API GET 请求的函数。
  • 您可以使用 axios npm 包从一个到另一个发出 API 请求
  • 您可以执行另一个函数,在该函数中将 first-get-request 的结果提供给调用下一个 get 请求。
  • @ryeballar 你能发布一个关于 API GET 请求的函数可能是什么样子的草图吗?我很难想象!
  • await axios.get(url) .then(response => { // 您的回复将在 response.data 中 });

标签: javascript node.js api express


【解决方案1】:

要在中间件之间传递数据,您必须将其分配给请求对象,例如:

app.get('form', (req,res,next) => {
    const { user, tags } = req.body
    
    // assign this
    req.data = { user, tags }
    
    // pass to next  
    next()
})

app.get('API', (req,res,next) => {
    // get the passed data
    req.data
    console.log(req.data)
})

【讨论】:

    猜你喜欢
    • 2018-08-25
    • 2013-11-02
    • 2021-07-12
    • 1970-01-01
    • 2020-03-03
    • 1970-01-01
    • 1970-01-01
    • 2012-03-23
    相关资源
    最近更新 更多