节点 express.Router().route(/verb/:optionalParameter)?
Node express.Router().route(/verb/:optionalParameter)?
我用的是节点express
Router
模块,是route()
方法
我需要接受一个可选参数,这样:
var express = require('express');
var router = express.Router();
router.route('/verb/:optionalParameter').get(function(req, res, next) {
// ...
}
如何指定 optionalParameter
?
我试过了:
router.route('/verb/:optionalParameter*?').get(function(req, res, next) {
和
curl -X GET -H "Accept: application/json" http://localhost:3000/verb/option1
工作正常,但是
curl -X GET -H "Accept: application/json" http://localhost:3000/verb
吐出一个404...
我确定我遗漏了一些明显的东西... :-( 有什么线索吗?
响应是 404,因为不存在路由 /verb
,只有 /verb/:optionalParameter
.
为了作品,需要创建另一条路线:
var express = require('express');
var router = express.Router();
router.route('/verb/:optionalParameter').get(function(req, res, next) {
// ...
}
// route localhost:3000/verb
router.route('/verb').get(function(req, res, next) {
// ...
}
然后尝试:
curl -X GET -H "Accept: application/json" http://localhost:3000/verb
试试这个:
var express = require('express')
var router = express.Router()
var app = express()
app.route('/verb/:optionalParameter?').get(function(req, res, next) { console.log('hello world') })
我用的是节点express
Router
模块,是route()
方法
我需要接受一个可选参数,这样:
var express = require('express');
var router = express.Router();
router.route('/verb/:optionalParameter').get(function(req, res, next) {
// ...
}
如何指定 optionalParameter
?
我试过了:
router.route('/verb/:optionalParameter*?').get(function(req, res, next) {
和
curl -X GET -H "Accept: application/json" http://localhost:3000/verb/option1
工作正常,但是
curl -X GET -H "Accept: application/json" http://localhost:3000/verb
吐出一个404...
我确定我遗漏了一些明显的东西... :-( 有什么线索吗?
响应是 404,因为不存在路由 /verb
,只有 /verb/:optionalParameter
.
为了作品,需要创建另一条路线:
var express = require('express');
var router = express.Router();
router.route('/verb/:optionalParameter').get(function(req, res, next) {
// ...
}
// route localhost:3000/verb
router.route('/verb').get(function(req, res, next) {
// ...
}
然后尝试:
curl -X GET -H "Accept: application/json" http://localhost:3000/verb
试试这个:
var express = require('express')
var router = express.Router()
var app = express()
app.route('/verb/:optionalParameter?').get(function(req, res, next) { console.log('hello world') })