作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 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/
我是一名优秀的程序员,十分优秀!