为单个控制器的 NestJs 设置请求正文大小限制

Myl*_*les 3 node.js express nestjs

我想增加单个路由的请求正文大小限制,假设仅针对路由/uploads,并将其余部分保留为默认值。

我知道你可以使用全局设置

app.use(json({ limit: '50mb' }));
Run Code Online (Sandbox Code Playgroud)

或者,在纯 ExpressJS 中,您可以使用

router.use('/uploads', express.json({ limit: '50MB' }));
Run Code Online (Sandbox Code Playgroud)

但在 NestJS 中只有全局类app和控制器类。例如

@Controller('uploads')
export class UploadController {
  constructor() {}

  @Post()
  create(...): Promise<any> {
    ...
  }
}
Run Code Online (Sandbox Code Playgroud)

在哪里设置该控制器的限制?

bin*_*ici 8

实际上,可以增加 NestJS 中一条路由的大小限制,如下所示:

     app.use('/uploads', json({ limit: '50mb' }));
     app.use(json({ limit: '100kb' }));
Run Code Online (Sandbox Code Playgroud)

需要第二条语句来重置所有其他路线的限制。