我想根据一些 req.headers 数据输出 HTML 或 JSON。例如:如果 req.headers.contentType == "application/json" 我将返回 JSON,否则返回 HTML。
var route = {
html: function(req, res, next) {},
json: function(req, res, next) {}
}
app.get('/test', route);
这显然是行不通的。所以我想我需要一个中介功能:
app.get('/test', _findRoute);
function _findRoute(req, res, next) {
if(req.headers["content-type"] === "application/json") {
return route.json;
} else {
return route.html;
}
}
这显然也不起作用,因为此时我实际上无法访问路由对象。
我可以:
app.get('/text', _findRoute(route));
但后来我无权访问 req 对象。
我实际上不知道如何进行,所以非常欢迎任何想法:)