gpt4 book ai didi

javascript - 如何使用包含斜杠字符的参数?

转载 作者:搜寻专家 更新时间:2023-10-31 22:59:10 25 4
gpt4 key购买 nike

person 集合中我的 MongoDB 键是这样的:

TWITTER/12345678
GOOGLE/34567890
TWITTER/45678901
...

我这样定义 getPersonByKey 路由:

router.route('/getPersonByKey/:providerKey/:personKey').
get(function(req, res) { // get person by key
var key = req.params.providerKey + '/' + req.params.personKey;
// ...
}
);

当然我更希望能够写出这样的东西:

router.route('/getPersonByKey/:key').
get(function(req, res) { // get person by key
var key = req.params.key;
// ...
}
);

但这不起作用,因为 GET http://localhost/getPersonByKey/TWITTER/12345678 当然会导致 404,因为带有斜杠的参数被解释为两个不同的参数。 ..有什么想法吗?

最佳答案

express 内部使用path-to-regexp进行路径匹配。

documentation 中所述,您可以通过在参数本身后添加用括号括起来的正则表达式来使用“自定义匹配参数”。

您可以使用以下路径获取您需要的结果:

router.route('/getPersonByKey/:key([^/]+/[^/]+)').
get(function(req, res) { // get person by key
var key = req.params.key;
// ...
}
);


您可以测试和验证这条路线或任何其他路线 here .

关于javascript - 如何使用包含斜杠字符的参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34571784/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com