Я использую Express JS для обработки маршрута http://localhost:3000/location
, который позволяет смешивать параметры и фиксированные конечные точки. Например:
http://localhost:3000/location
- корень маршрута, который отображает список местоположений.
http://localhost:3000/location/map
отображает список местоположений, отображаемых на веб-карте.
http://localhost:3000/location/:id
содержит параметр для идентификатора местоположения, указанного в URL-адресе, и при вызове отображает сведения о данном местоположении, полученные из запроса к базе данных.
'use strict';
var path = require('path');
var express = require('express');
var router = express.Router();
/* GET route root page. */
router.get('/', function(req, res, next) {
// DO SOMETHING
});
/* GET the map page */
router.get('/map', function(req, res, next) {
// DO SOMETHING
});
/* GET individual location. */
router.get('/:id', function(req, res, next) {
// DO SOMETHING
});
module.exports = router;
Является ли это наилучшей практикой для обработки маршрута со смешанными фиксированными значениями и параметризованными параметрами?
Точнее говоря, как правильно решить проблему, когда при вызове, например, «http://localhost:3000/location/SOMETHINGWRONG",», был запущен http://localhost:3000/location/:id
, что привело к ошибке запроса к базе данных, поскольку «SOMETHINGWRONG» не было целым числом и не могло пройти