Express optional parameters
You don't need to add them to the path. You'll find them in the req.query
object.
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));});
you can validate your input request parameters what you have received in your req.body or req.query like this..
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});});