决定路线与参数的关键因素是什么

时间:2014-02-15 19:32:55

标签: node.js express url-routing url-design

我看不出在两个路线因素之间做出决定的基础。我的问题是决定两者之间关键因素:

  • 更多路线 - 参数更少
  • 更少的路线 - 更多参数 - 处理程序中的逻辑

以下两个样本是我的实际案例,但我认为这是一个普遍的问题。

我的基线是2条路线,每条路线有2个参数:

URI's:
/poweronoff?id=4&val=1
/powerset?id=7&val=75

// app.js
app.get('/poweronoff', mymodule.poweronoff);
app.get('/powerset', mymodule.powerset);

// mymodule
exports.poweronoff= function(req, res){
   setonoff(req.query.id, req.query.val, req, res);
   }

exports.powerset = function(req, res){
   setvalue(req.query.id, req.query.val, req, res);
   }

替代因子是1路,有3个参数。

URI's:
/power?action=onoff&id=4&val=1
/power?action=set&id=7&val=75

// app.js
app.get('/power', mymodule.power);

// mymodule
exports.power = function(req, res){
  if (req.query.action = 'onoff') {
    setonoff(req.query.id, req.query.val, req, res);
  }
  else {
    setvalue(req.query.id, req.query.val, req, res);
  }
}

这两个看起来几乎等于我。区别在于路由表中的一个分支,而不是mymodule中的一个分支。是否有缓存,备忘录或其他因素倾向于平衡以支持其中一个因素?客户方是否有贡献因素?

1 个答案:

答案 0 :(得分:0)

这是一个没有正确答案的哲学问题。

  • 如果您实施REST服务,则可能需要使用RESTful URI设计。
  • 如果你可以自由选择,但你喜欢干净的设计,你可能会坚持clean URL设计。
  • 如果您只想了解良好网址设计的一般原则,可以查看this great answer