我有一个控制器(文章)。
它执行路线:#!/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
答案 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}`;
}