簡體   English   中英

當所有參數都是可選參數時,如何在我的webservice GET方法中添加驗證?

[英]how can I add a validation to my webservice GET method in node.js when all parameters are optional?

我的webservice中有一個方法在node.js中定義為:

app.get('/reports', function(req, res){

    var amount = req.param('amount');
    var longitude = req.param('long');
    var latitude = req.param('lat');
    var distance = req.param('distance');
    var numberOf = req.param('numberOf');

我想驗證所有參數,因此我考慮為此添加一個特殊方法,例如:

validateReports = function(req, res, next) {
    var latitude = req.params.latitude;
    var longitude = req.params.longitude;
    var distance = req.params.distance;
    var numberOf = req.params.numberOf;
    if (!isCorrectGPS(latitude)) {
        return res.status(406).send("Please send a valid latitude");
    }
  etc.

然后像這樣添加它:

app.get('/reports', validateReports, function(req, res){

但是我不知道當參數為可選參數時如何進行處理(例如,當用戶調用/reports並且不提供它時-我想不向他顯示任何錯誤)。 你能告訴我怎么做嗎?

if (req.params.latitude && !isCorrectGPS(latitude)) {
  //do error stuff
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM