gpt4 book ai didi

node.js - ExpressJS - 联系外部 API

转载 作者:太空宇宙 更新时间:2023-11-03 23:46:33 24 4
gpt4 key购买 nike

事情是这样的:我有一个将数据发送到服务器的客户端。该服务器必须联系外部 API。并将其响应发送回客户端。我只是不知道服务器获取客户端数据后如何以及在哪里可以联系外部 API。

我像这样路由客户端数据:

app.post('/getAutoComplete', routes.read);

routes.read 检索 req.body 中的数据。使用我的nodejs版本(没有express框架),我可以这样请求api:

var http = require('http'), options = {
host : "192.168.1.38",
port : 8080,
path : "/myURL",
method : 'POST'
};

var webservice_data = "";

var webservice_request = http.request(options, function(webservice_response)
{
webservice_response.on('error', function(e){ console.log(e.message); });
webservice_response.on('data', function(chunk){ webservice_data += chunk;});
webservice_response.on('end', function(){res.send(webservice_data);});
});

webservice_request.write(req.body);
webservice_request.end();

问题是我想使用原生的expressJS方法,比如app.post,但我不知道如何做,因为:

  1. Express (app) 对象在这里不可用(在 app.js 中声明,但不在路由文件中声明)
  2. 我不知道如何使用 app.post 发送 POST 数据

有什么建议吗?

最佳答案

app.post('/getAutoComplete', routes.read);
// assuming routes.read lookes something like this
routes.read = function read(req, res) {
var http = require('http'), options = {
host : "192.168.1.38",
port : 8080,
path : "/myURL",
method : 'POST'
};

var webservice_data = "";

var webservice_request = http.request(options, function(webservice_response)
{
webservice_response.on('error', function(e){ console.log(e.message); });
webservice_response.on('data', function(chunk){ webservice_data += chunk;});
webservice_response.on('end', function(){res.send(webservice_data);});
});

webservice_request.write(req.body);
webservice_request.end();
};

另请查看https://github.com/mikeal/request它是在 Node 中执行 Web 请求的事实上的模块。

关于node.js - ExpressJS - 联系外部 API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10239840/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com