踩坑
如下所示,我写了一个 Controller:
ts- @Controller('user')
- export class UserController {
- constructor(
- private readonly userService: UserService
- ) {}
- @Post('login')
- @UsePipes(new ValidationPipe())
- login (@Body() loginDto: LoginDto, @Response() response: Res) {
- return this.userService.login(loginDto, response)
- }
- }
在login函数中通过@Respons注解引入了返回response作为参数,然后…然后请求到了/user/login接口,不会有任何返回值,直至超时结束请求。
按照 Github issue 上面的说法,引入返回response需要手动结束请求,即调用response.send等方法(见 Express 文档)。
Nest 需要在@Response()注解中加入参数{ passthrough: true }才会自动结束请求。
ts- login (@Body() loginDto: LoginDto, @Response({ passthrough: true }) response: Res) {
- return this.userService.login(loginDto, response)
- }
0 条评论未登录用户
Ctrl or + Enter 评论
