繁体   English   中英

节点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,因为不存在route /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') })

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM