これが問題です:サーバーにデータを送信するクライアントがあります。このサーバーは外部 API に接続し、その応答をクライアントに送り返す必要があります。サーバーがクライアント データを取得した後、外部 API に接続する方法と場所がわかりません。
私はこのようにクライアントデータをルーティングします:
app.post('/getAutoComplete', routes.read);
routes.read は req.body 内のデータを取得します。私のnodejsバージョン(エクスプレスフレームワークなし)では、次のように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();
問題は、app.post のようなネイティブの expressJS メソッドを使用したいのですが、次の理由で方法がわかりません。
- Express (アプリ) オブジェクトはここでは使用できません (app.js で宣言されていますが、ルート ファイルでは宣言されていません)
- app.post で POST データを送信する方法がわかりません
なにか提案を ?