Что является ключевым фактором для определения маршрутов в зависимости от параметров

Я не вижу оснований выбирать между двумя факторингами маршрутов. Мой вопрос заключается в том, какой фактор является ключевым для решения между:

  • больше маршрутов - меньше параметров
  • меньше маршрутов - больше параметров - логика в обработчике

Два приведенных ниже примера - это мой реальный случай, но я думаю, что это общий вопрос.

Моя базовая линия - 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 ответ

Решение

Это скорее философский вопрос, на который нет правильного ответа.

  • Если вы реализуете службу REST, вы можете использовать дизайн RESTful URI.
  • Если вы свободны в выборе, но вам нравится чистый дизайн, вы можете придерживаться чистого дизайна URL.
  • Если вы просто хотите изучить общие принципы правильного оформления URL, вы можете проверить этот отличный ответ.
Другие вопросы по тегам