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

Але*_* К. 1 javascript node.js typescript nestjs

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

它执行 routes: /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){}

}
Run Code Online (Sandbox Code Playgroud)

Kim*_*ern 5

正如文章 id 有一个动态路由参数一样,您也可以为操作设置一个:

@Controller('articles')
export class ArticlesController {

  @Get(':id/:action')
  findAll(@Param('id') id, @Param('action') action) {
    return `You chose ${action} for article ${id}`;
  }
Run Code Online (Sandbox Code Playgroud)