我有一个 GET REST 服务需要接受带有/的参数
URL = "/term/:term/amount/:amount" 其中:term 可以是像“para/5MG”这样的字符串。
有没有办法在 express 中做到这一点?当我的 api 被使用时,我不想用 queryparams 重写它。
最佳答案
native ,express 尝试在 /
处进行拆分,因此您必须手动进行拆分。这是一个这样做的例子:
app.get('/term/\\S+/amount/:amount', function (req, res, next){
var match;
if(match = req.path.match(/^\/term\/(.*?)\/amount\/(.*)$/)){
var term = match[1];
var amount = req.params.amount;
// or do whatever you like
res.json({term: term, amount: amount})
}else{
res.sendStatus(404);
}
})
使用此方法,您将失去很多 expresse 的内置魔法。首先对参数进行 URI 编码可能会更好。 (像这样:term/para%2F5MG/amount/3
)
关于javascript - 如何在路由参数中使用斜杠,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32414482/