J'utilise noeud express
Router
module, et c'est "s route()
méthode.
J'ai besoin d'accepter un paramètre optionnel, de cette façon:
var express = require("express");
var router = express.Router();
router.route("/verb/:optionalParameter").get(function(req, res, next) {
// ...
}
Comment puis-je spécifier optionalParameter
?
J'ai essayé:
router.route("/verb/:optionalParameter*?").get(function(req, res, next) {
et
curl -X GET -H "Accept: application/json" http://localhost:3000/verb/option1
fonctionne très bien, mais
curl -X GET -H "Accept: application/json" http://localhost:3000/verb
crache un 404 ...
Je suis sûr que je manque quelque chose d'évident ... :-( Un indice?
Réponses:
1 pour la réponse № 1La réponse est "404" car il n’existe pas de route /verb
, seulement /verb/:optionalParameter
.
Pour les travaux, il faut créer un autre itinéraire:
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) {
// ...
}
Et essaye:
curl -X GET -H "Accept: application/json" http://localhost:3000/verb
0 pour la réponse № 2
Essayez plutôt ceci:
var express = require("express")
var router = express.Router()
var app = express()
app.route("/verb/:optionalParameter?").get(function(req, res, next) { console.log("hello world") })