【问题标题】:Send data from Nodejs API to Flask APi将数据从 Nodejs API 发送到 Flask APi
【发布时间】:2020-07-06 16:41:50
【问题描述】:

所以我在 Nodejs 和 Flask 中创建了一个小型应用程序。我创建了 2 个 API。首先将数据从 Nodejs App 发送到 Nodejs API,然后将数据从 Nodejs API 发送到 flask api。 我在将数据从 Node Api 发送到 Flask Api 时遇到了一些麻烦。

//将数据从Node.js api发送到Flask Api

app.get('/postoflask',  (req, res) => {
 request('http://localhost:3030/users',  (error, response, bodyParser) => {
      if(error) {
          
          res.send(' erorr occured')
      }
  
      else {
          res.send(bodyParser)
          request.post('http://localhost:5000/adduser')
        }
  });
});

在浏览器上部署路由会从 node Api 数据库中检索数据,并将 null 值推送到 flask api 数据库。我需要将从 Node Api 检索到的数据原样传输到烧瓶数据库的数据库中。

port 3030/users 是node api,从数据库中获取数据,port 5000/adduser 是flask api,用于将数据推入数据库。

我是中级程序员的入门,但我不知道我在这里缺少什么或我不理解什么。帮助将不胜感激。使用的数据库是 PostgreSql。

【问题讨论】:

    标签: python node.js postgresql flask


    【解决方案1】:

    您可以利用 request stream capabilities 将数据从 Node.js 端点代理到 Flask:

    app.get('/postoflask', (req, res) => {
      request('http://localhost:3030/users')
        .on('error', (err) => {
          console.log(err);
        })
        .on('end', () => {
          res.send('done')
        })
        .pipe(request.post('http://localhost:5000/adduser'));
    })
    

    【讨论】:

    • 这个返回'done'并且仍然向数据库发送空值
    【解决方案2】:

    request.post('http://localhost:5000/adduser') 没有发送任何数据,试试

    request.post('http://localhost:5000/adduser',{...})

    【讨论】:

    • res.send(bodyParser) , bodyParser 包含来自数据库的数据,这行代码在 request.post('localhost:5000/adduser',bodyParser) 中传递时在浏览器上返回 json 格式的数据, 仍然将 null 值推送到烧瓶 api 数据库中
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-11-08
    • 2020-06-22
    • 2020-12-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多