Pipes
работают только для следующих типов: 'body' | 'query' | 'param' | 'custom'
, соответствующих @Body()
, @Query()
, @Param()
или пользовательских декораторов подобно @User()
.В вашем примере у вас нет ни одного из них, и поэтому канал не применяется.
Так что, если вы добавите один из них в ваш пример, канал будет применен (в данном случае к @Body()
).
@UsePipes(SamplePipe)
@UseInterceptors(FileInterceptor('file'))
@Post()
samplePost(@UploadedFile() file, @Body() body) {
^^^^^^^^^^^^^
return file
}
Если вы используете @UsePipes()
, труба будет применяться везде, где это применимо.Вы также можете использовать @Body(SimplePipe) body
только для того, чтобы применить трубу к телу.