将数据从 Express API 参数传递到 MEAN 堆栈中的请求模块
Passing the data from the Express API Parameter to Request Module in MEAN Stack
我在将参数从 Express API 传递到请求模块 URL 时遇到以下问题。
在下面的代码中假设我的请求详细信息为
request_data.url = http://localhost:3000/interface/en/
当用户输入 URL 作为 http://localhost:3000/interface/en/123456
我想把123456发到线路
url: request_data.url + acct,
因此,请求模块的最终 url 变为 http://localhost:3000/interface/en/123456
但我的以下代码无法正常工作,有人可以在这里帮助我或建议我需要进行哪些更改
Code
app.get('/interface/:env/:acct', (req, res) => {
var acct = req.params.acct;
var env = req.params.env;
var hsResponse = request({
proxy: proxyUrl,
url: request_data.url + acct,
headers: request_data.headers,
method: request_data.method,
form: oauth.authorize(request_data)
}, function (error, response, body) {
res.setHeader('Content-Type', 'application/json');
res.send(body); //<-- send hsResponse response body back to your API consumer
});
});
请使用以下代码,
app.get('/interface/:env/:acct', (req, res) => {
var acct = req.params.acct;
var env = req.params.env;
// here you need to update your url
request_data.url = request_data.url + acct;
var hsResponse = request({
proxy: proxyUrl,
url: request_data.url ,
headers: request_data.headers,
method: request_data.method,
form: oauth.authorize(request_data)
}, function (error, response, body) {
res.setHeader('Content-Type', 'application/json');
res.send(body); //<-- send hsResponse response body back to your API consumer
});
});
我认为您正在使用 OAuth, where you passing form field to the request,这将需要使用现有的映射 request_data
进行授权,例如 URL
和其他 attributes
。
希望对您有所帮助!!
我在将参数从 Express API 传递到请求模块 URL 时遇到以下问题。
在下面的代码中假设我的请求详细信息为
request_data.url = http://localhost:3000/interface/en/
当用户输入 URL 作为 http://localhost:3000/interface/en/123456
我想把123456发到线路
url: request_data.url + acct,
因此,请求模块的最终 url 变为 http://localhost:3000/interface/en/123456
但我的以下代码无法正常工作,有人可以在这里帮助我或建议我需要进行哪些更改
Code
app.get('/interface/:env/:acct', (req, res) => {
var acct = req.params.acct;
var env = req.params.env;
var hsResponse = request({
proxy: proxyUrl,
url: request_data.url + acct,
headers: request_data.headers,
method: request_data.method,
form: oauth.authorize(request_data)
}, function (error, response, body) {
res.setHeader('Content-Type', 'application/json');
res.send(body); //<-- send hsResponse response body back to your API consumer
});
});
请使用以下代码,
app.get('/interface/:env/:acct', (req, res) => {
var acct = req.params.acct;
var env = req.params.env;
// here you need to update your url
request_data.url = request_data.url + acct;
var hsResponse = request({
proxy: proxyUrl,
url: request_data.url ,
headers: request_data.headers,
method: request_data.method,
form: oauth.authorize(request_data)
}, function (error, response, body) {
res.setHeader('Content-Type', 'application/json');
res.send(body); //<-- send hsResponse response body back to your API consumer
});
});
我认为您正在使用 OAuth, where you passing form field to the request,这将需要使用现有的映射 request_data
进行授权,例如 URL
和其他 attributes
。
希望对您有所帮助!!