You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在NestJS应用中禁用自动生成Etags及获取Express实例

NestJS 禁用自动生成Etags的具体实现步骤
  • 首先在NestJS项目的入口文件main.ts中,调用NestFactory.create完成应用实例初始化后,你可以通过HTTP适配器直接获取底层的Express实例。
  • 带类型提示的完整实现代码示例如下:
import { NestFactory } from '@nestjs/core';
import { AppModule } from './app.module';
// 引入NestExpressApplication类型获得更完善的类型提示,非必选
import type { NestExpressApplication } from '@nestjs/platform-express';

async function bootstrap() {
  // 初始化时指定泛型为NestExpressApplication
  const app = await NestFactory.create<NestExpressApplication>(AppModule);
  
  // 获取底层Express实例并禁用etag
  const expressApp = app.getHttpAdapter().getInstance();
  expressApp.set('etag', false);

  await app.listen(3000);
}
bootstrap();
  • 如果你不需要额外类型提示,也可以直接简化为如下写法,逻辑完全一致:
import { NestFactory } from '@nestjs/core';
import { AppModule } from './app.module';

async function bootstrap() {
  const app = await NestFactory.create(AppModule);
  // 直接链式调用获取实例并配置
  app.getHttpAdapter().getInstance().set('etag', false);
  await app.listen(3000);
}
bootstrap();
  • 配置完成后启动服务,访问任意接口时响应头中不再返回ETag字段,即可确认配置生效。

内容的提问来源于stack exchange,提问作者Marc Stroebel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.15 18:36:04