expressjs模式以匹配其余路径

时间:2018-10-23 15:57:10

标签: node.js express

我正在尝试创建一个端点,该端点包含我提取并用作参数的实际路径。例如,在以下路径中:

/ myapi / function / this / is / the / path

我想将“ / myapi / function /”与我的函数匹配,并将参数“ this / is / the / path”作为该函数的参数。

如果我尝试此操作,则显然不起作用,因为它仅匹配路径的第一个元素:

app.get("/myapi/function/:mypath")

如果我尝试这样做,但是没有显示在req.params中,我不得不解析req.path,这很麻烦,因为逻辑必须知道整个路径,而不仅仅是参数:

app.get("/myapi/function/*")

此外,通配符路由的使用似乎是discouraged as bad practice。我不确定我是否知道链接文章试图建议的替代方法,并且我没有将查询用作数据库调用的一部分,也没有上传任何信息。

执行此操作的正确方法是什么?

1 个答案:

答案 0 :(得分:1)

您可以使用通配符

app.get("/myapi/function/*")

然后获取您的路径

req.params[0]

// Example
//
// For the route "/myapi/function/this/is/my/path"
// You will get output "this/is/my/path"