我是 Nest.js 的大一新生。
我的代码如下
@Get('findByFilter/:params')
async findByFilter(@Query() query): Promise<Article[]> {
}
我用 postman
来测试这个路由器
http://localhost:3000/article/findByFilter/bug?google=1&baidu=2
实际上,我可以得到查询结果 { google: '1', baidu: '2' }
。但我不清楚为什么 url 有一个字符串 'bug'
?
如果我删除那个词就像
http://localhost:3000/article/findByFilter?google=1&baidu=2
然后邮递员将显示 statusCode 404
。
其实我不需要 bug
这个词,如何自定义路由器来实现我的目的地就像 http://localhost:3000/article/findByFilter?google=1&baidu=2
这里的另一个问题是如何使多个路由器指向一个方法?
原文由 Eve-Sama 发布,翻译遵循 CC BY-SA 4.0 许可协议
查询参数
您必须删除
:params
才能按预期工作:路径参数
:param
语法用于路径参数并匹配路径上的任何字符串:匹配路线
路由通配符
要将多个端点与同一方法匹配,您可以使用路由通配符:
将匹配