Node.js 使用express的http响应中的自定义值(不在正文中)

Node.js 使用express的http响应中的自定义值(不在正文中),node.js,http,express,Node.js,Http,Express,短篇小说: 我希望通过使用中间件的express向每个http响应添加一个自定义值。我不想让它进入我的身体。怎么做 说来话长: 特定值是一个名为apiVersion的字符串 我写了这个中间件: function apiVersionMiddleware(req, res, next) { res.apiVersion = "1.1"; next(); } 我看到apiVersion字段填充在我后端的响应对象中。但是,我在http响应中没有看到它 阅读了一些express文档后,我发现

短篇小说:

我希望通过使用中间件的express向每个http响应添加一个自定义值。我不想让它进入我的身体。怎么做


说来话长:

特定值是一个名为
apiVersion
的字符串

我写了这个中间件:

function apiVersionMiddleware(req, res, next) {
  res.apiVersion = "1.1";
  next();
}
我看到
apiVersion
字段填充在我后端的响应对象中。但是,我在http响应中没有看到它


阅读了一些express文档后,我发现:。但是,在http头中添加自定义响应是一种好的做法吗?它应该在这里还是在另一个变量中?

意识到我的问题更多的是关于http头的使用

在文档中找到了这个。在“标题”页面上,您可以找到响应标题的以下定义:

响应头:包含有关响应的附加信息的头,如其位置或服务器本身(名称和版本等)

所以它非常适合我的用例

这使我在express文档中找到了此解决方案:

我还必须将自定义标题添加到cors中的ExposedHeader中:

app.use(
  cors({
    exposedHeaders: ["api-version"]
  })
);
app.use(
  cors({
    exposedHeaders: ["api-version"]
  })
);