Node.js Express可选参数
我想要这样的路径:Node.js Express可选参数,node.js,express,Node.js,Express,我想要这样的路径:/skittles?type[]=blue和type[]=green(就像x-www-form-urlencoded,但这是对api的get请求) 因此,如果我有以下代码,我将如何向路由路径(当前/skittles)添加可选参数 您不需要将它们添加到路径中。您将在req.query对象中找到它们 var util = require('util'); app.get('/skittles', function(req, res) { console.log(req.que
/skittles?type[]=blue和type[]=green
(就像x-www-form-urlencoded
,但这是对api的get请求)
因此,如果我有以下代码,我将如何向路由路径(当前/skittles)添加可选参数
您不需要将它们添加到路径中。您将在
req.query
对象中找到它们
var util = require('util');
app.get('/skittles', function(req, res) {
console.log(req.query);
var type = req.query.type || [];
console.log("type: "+util.inspect(type));
res.send("Type: "+util.inspect(type));
});
您可以像这样验证您在req.body或req.query中收到的输入请求参数
app.post('/v1/api/test-api', function(req, res) {
var parameters = [];
if(req.body.userName !== undefined) {
//DO SOMEHTING
parameters.push({username: req.body.userName});
}
if(req.body.userId !== undefined) {
//DO SOMEHTING
parameters.push({userId: req.body.userId});
}
if(req.body.userEmail !== undefined) {
//DO SOMEHTING
parameters.push({userEmail: req.body.userEmail});
}
res.json({receivedParameters: parameters});
});
你甚至不能将它们添加到路线中。
app.post('/v1/api/test-api', function(req, res) {
var parameters = [];
if(req.body.userName !== undefined) {
//DO SOMEHTING
parameters.push({username: req.body.userName});
}
if(req.body.userId !== undefined) {
//DO SOMEHTING
parameters.push({userId: req.body.userId});
}
if(req.body.userEmail !== undefined) {
//DO SOMEHTING
parameters.push({userEmail: req.body.userEmail});
}
res.json({receivedParameters: parameters});
});