【发布时间】:2025-11-29 12:00:01
【问题描述】:
我正在使用 Express JS 处理路由 http://localhost:3000/location,它允许混合使用参数和固定端点。例如:
http://localhost:3000/location 是路由的根,它呈现位置列表的视图。
http://localhost:3000/location/map 为绘制在 web 地图上的位置列表呈现视图。
http://localhost:3000/location/:id 包含 URL 中给定位置 ID 的参数,调用时会呈现来自数据库查询的给定位置详细信息的视图。
'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”不是整数,无法通过,如何正确处理?
【问题讨论】:
标签: javascript node.js express routes