Что является ключевым фактором для определения маршрутов в зависимости от параметров
Я не вижу оснований выбирать между двумя факторингами маршрутов. Мой вопрос заключается в том, какой фактор является ключевым для решения между:
- больше маршрутов - меньше параметров
- меньше маршрутов - больше параметров - логика в обработчике
Два приведенных ниже примера - это мой реальный случай, но я думаю, что это общий вопрос.
Моя базовая линия - 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, вы можете проверить этот отличный ответ.