2017-05-04 45 views
0

所以我有以下场景;我有一个Angular将在XHR请求中显示的私有API密钥。为了解决这个问题,我决定使用Express作为代理,并提出服务器端请求。但是,我似乎无法找到有关如何制作我自己的获取请求的文档。使用Express进行外部获取请求

架构:

角品牌要求/api/external-api - >快速处理的途径,使请求externalURL使用参数在req.body.params,重视从config.apiKey API密钥。以下是伪代码来模仿我试图完成的事情:

router.get('/external-api', (req, res) => { 
    externalRestGetRequest(externalURL, req.body.params, config.apiKey) 
    res.send({ /* get response here */}) 
} 
+0

“send get request with nodejs” –

+1

[Node.js Express中的HTTP GET请求]的可能重复(http://stackoverflow.com/questions/9577611/http-get-request-in-node-js-express ) –

回答

4

你已经走了一半!你需要一些东西来为你提出这个要求。如npm库request

在你的路线类似

var request = require('request'); 


router.get('/external-api', function(req, res){ 

request('http://www.google.com', function (error, response, body) { 
     console.log('error:', error); // Print the error if one occurred and handle it 
     console.log('statusCode:', response && response.statusCode); // Print the response status code if a response was received 
     res.send(body) 
    }); 

}) 

这使您可以使用任何你需要的URL或API密钥的任何类型的请求。但重要的是要注意,您还需要处理任何错误或错误的响应代码。

+0

谢谢,这正是我所需要的。用于控制台日志记录的+1。 – Moshe