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)
在哪里设置该控制器的限制?
实际上,可以增加 NestJS 中一条路由的大小限制,如下所示:
app.use('/uploads', json({ limit: '50mb' }));
app.use(json({ limit: '100kb' }));
Run Code Online (Sandbox Code Playgroud)
需要第二条语句来重置所有其他路线的限制。