Node express.Router()。route(/ verb /:optionalParameter)?

时间:2015-09-15 14:23:21

标签: node.js express routes

我使用节点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 ......

我确定我错过了一些明显的东西...... :-(任何线索?

2 个答案:

答案 0 :(得分:1)

回复它的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

答案 1 :(得分:0)

请改为尝试:

java