簡體   English   中英

Nest.Js 從一個控制器重定向到另一個

[英]Nest.Js Redirect from a controller to another

所以我有這個模塊:

@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';
  }
}

在此處查看此運行示例:

編輯重定向控制器

另一種方法是使用 @Redirect() 裝飾器,如此處所述: https ://docs.nestjs.com/controllers#redirection

這也應該有效:

@Controller()
export class AppController {
  @Get()
  @Redirect('books')
  redirect(){}
}

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM