2013-05-30 31 views
4

我想要一個像這樣的路徑:/skittles?type[]=blue&type[]=green(就像x-www-form-urlencoded,但這是一個API的獲取請求)。快遞可選參數

因此,如果我有以下代碼,我將如何將可選參數添加到路徑路徑(當前/ skittles)?

app.get('/skittles', callback); 

回答

4

您不需要將它們添加到路徑中。您可以在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)); 
}); 
+0

你甚至_can't_將它們添加到路線。 –

0

您可以驗證輸入請求參數您已在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}); 

});