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

时间:2019-04-16 21:19:08

标签: javascript node.js typescript nestjs

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

它执行路线:#!/usr/bin/env python # Connect to Snowflake # See https://docs.snowflake.net/manuals/user-guide/python-connector-example.html#connecting- ... con = ... # Scan the file to build the table/column info tables = {} with open("zz.csv") as f: for l in f.readlines(): tname, cname = l.split(",") tables.setdefault(tname.strip(), []).append(cname.strip()) # Run a query for each query for tname, clist in tables.iteritems(): query = """select {columns} from {table} group by {columns} having count(*) > 1 """.format(columns=",".join(clist), table=tname) print("Running query: {0}".format(query)) cur = con.cursor() cur.execute(query) for rec in cur: print("DUPLICATED RECORD: {0}".format(rec)) /articles,就是这样。

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

我是否需要静态路径或操作,它是嵌套的并且不起作用。

我的部分解决方案-控制器(文章),控制器(文章/创建者),控制器(文章/喜欢),控制器(文章/不喜欢)。

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

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

代码:

/articles/:id/comment

1 个答案:

答案 0 :(得分:1)

就像您有商品ID的动态路由参数一样,您也可以为操作提供一个动态路由参数:

@Controller('articles')
export class ArticlesController {

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