Express.js:如何使用空参数发出GET请求?

时间:2019-03-04 21:40:38

标签: javascript express

我正在构建一个简单的应用,该应用基于URI中的:date参数返回带有时间信息的JSON对象。当前,如果GET请求没有参数,则不会调用我的app.get方法。但是,我希望用户能够将空字符串传递给:date。最终,我希望用户能够输入'... / api / timestamp'并返回当前日期/时间的JSON对象。这可能吗?

app.get('/api/timestamp/:date', (req, res, next) =>{
  
  var d = new Date(req.params.date);
  
  if(d instanceof Date && !isNaN(d)){
    let dateStr = d.toUTCString();
    let dateUnix = d.getTime();
    res.json({unix : dateUnix, natural : dateStr});
  }
  else if(req.params.date===''){
    console.log("it's empty");
  }

});

1 个答案:

答案 0 :(得分:1)

是的,您可以通过附加'?'将date设置为可选参数。

app.get('/api/timestamp/:date?', (req, res, next) =>{
....

在该函数内部,您可以检查日期是否已过。