yoa*_*azz 7 http-headers node.js express
这是运行良好的实际代码,但我想检查我的标头是否很好地传输到我的 api:
var request = require('request');
var express = require('express');
var router = express.Router();
/* GET data by sportId */
router.get('/:locale/:sportId/:federationId/:date', function(req, res) {
var date = req.params.date;
var locale = req.params.locale;
var sportId = req.params.sportId;
var federationId = req.params.federationId;
request(getEventsOptions(sportId, federationId, date, locale), function(error, response, body) {
res.send(body);
});
});
// get options for request
function getEventsOptions(sportId, federationId, date, locale)
{
return {
url: `http://myapi.com/event/sport/${sportId}/date-from/${date}`,
headers: {
'accept': 'application/json',
'dateTo': date,
'federationIds': federationId,
'X-Application-ID': 'sporter',
'Accept-Language': locale,
}
};
}
Run Code Online (Sandbox Code Playgroud)
所以我的问题很笼统,我如何在 node js 应用程序中检查我的调用标头?
Mah*_*han 13
有三种方法可以做到这一点:
首先,使用 req.get 函数:
req.get('headerName');
Run Code Online (Sandbox Code Playgroud)
二、使用req.header函数:
req.header('headerName');
Run Code Online (Sandbox Code Playgroud)
三、使用req.headers实际对象:
req.headers['headerName'];
Run Code Online (Sandbox Code Playgroud)
我希望它能帮助你。
根据文档,您需要req.get函数。您还可以将 req.headers 对象与所有发送的标头一起使用。
代码示例:
const request = require('request');
const express = require('express');
const router = express.Router();
router.get('/:locale/:sportId/:federationId/:date', (req, res) => {
// destructuring assignment for better readability
const { date, locale, sportId, federationId } = req.params;
// header example with get
const authHeader = req.get('Authorization');
console.log(authHeader);
// example with headers object
console.log(req.headers);
request(getEventsOptions(sportId, federationId, date, locale), (error, response, body) => {
res.send(body);
});
});
function getEventsOptions(sportId, federationId, date, locale) {
return {
url: `http://myapi.com/event/sport/${sportId}/date-from/${date}`,
headers: {
'accept': 'application/json',
'dateTo': date,
'federationIds': federationId,
'X-Application-ID': 'sporter',
'Accept-Language': locale,
}
};
}
Run Code Online (Sandbox Code Playgroud)