我在 Node.js 的 Web 服务中有一个方法定义为:
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
}
关于javascript - 当所有参数都是可选的时,如何向 Node.js 中的 Web 服务 GET 方法添加验证?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35091591/