Nest.Js从一个控制器重定向到另一个控制器

所以我有这个模块:

@Module({
  imports: [],
  controllers: [AppController, AnotherController],
  providers: [],
})

和在AppController中我要执行的某些路由res.redirect('/books'),其中/books是在AnotherController中找到的路由。

由于某种原因,这不起作用,我无法确定它是否不受支持,或者我做错了。


解决方案

从一个控制器重定向到另一个控制器适用于res.redirect(target)。作为目标,您必须组合来自控制器的路径和路由注释:

@Controller('books')+@Get('greet')=/books/greet

@Controller()
export class AppController {
  @Get()
  redirect(@Res() res) {
    return res.redirect('/books/greet');
  }
}

@Controller('books')
export class AnotherController {
  @Get('greet')
  greet() {
    return 'hello';
  }
}

查看此处的运行示例:

相关文章