Express js可选参数

fbh*_*hcf 3 node.js express

我想在一个快速路由中添加一个可选参数,其中必须设置var1但是可以省略var 2(/ test/0和/ test/0/0都应该工作).

我可以创建另一个规则,或者juste评估字符串"test/0/0",但我想知道是否没有其他方法.

app.get('/test/:var1/:var2', function(req, res){
    // DO SOMETHING
});
Run Code Online (Sandbox Code Playgroud)

谢谢 !

Adi*_*iii 7

app.get('/test/:var1/:var2*?',function(req,res)
   {
if(!req.params.var2){
// do something when there is no optionalParam
  }
res.json({ var: req.params.var1,
          var2: req.params.var2 });

});
Run Code Online (Sandbox Code Playgroud)

只是打电话

http://127.0.0.1:8080/test/44

产量

{ "VAR": "44"}

两者都过去了

{ "VAR": "44", "VAR2": "77"}

  • 请参阅[此答案]的评论(http://stackoverflow.com/a/29549148). (2认同)
  • “*”有什么作用? (2认同)