如何在nestjs中执行嵌套路由?

问题描述 投票:0回答:1

我有一个控制器(文章)。

它执行路线:/articles/articles/:id就是这样。

我还需要以下路线 - /articles/creator/:creatorId/articles/:id/like/articles/:id/unlike/articles/:id/comment等。

无论我是需要静态路径还是动作,它都是嵌套的并且不起作用。

我的部分解决方案 - 控制器(文章),控制器(文章/创作者),控制器(文章/类似),控制器(文章/不同)。

但这是一个愚蠢的解决方案,路径和行动的概念已经丢失。

有一个优雅的解决方案来解决这个问题?以及如何以最佳方式实现这一目标?

代码:

@Controller('articles')
class ArticlesController{

@Get(':articleId')
getById(@Param('articleId') articleId){}

@Post(':articleId/like)
like(@Param('articleId') articleId){}

@Get('creator/:creatorId')
getByCreator(@Param('creatorId') creatorId:string){}

}
javascript node.js typescript nestjs
1个回答
1
投票

就像你有一个文章ID的动态路由参数一样,你也可以有一个动作:

@Controller('articles')
export class ArticlesController {

  @Get(':id/:action')
  findAll(@Param('id') id, @Param('action') action) {
    return `You chose ${action} for article ${id}`;
  }
© www.soinside.com 2019 - 2024. All rights reserved.