我正在努力确保在给出错误或缺失数据时我的API正常工作。
我目前有一个if语句,用于检查输入是否缺失。如果是的话,它会显示false
,如果不是,则会显示带代码的其他大块。
e.g:
if (!req.body.email || !req.body.mobile || !req.body.gender ||
!req.body.yearOfBirth) {
res.json({ success: false, message: 'Missing request body parts'});
} else {
//Continue
}
我想问的是,在代码可读性方面有更好的方法来实现这一点,在其中发生了很多其他很大的障碍,但对我来说似乎有些“不自然”。
感谢。
答案 0 :(得分:1)
一种选择是为您要测试的字段使用数组:
var requiredFields = ['email', 'mobile', 'gender', 'yearOfBirth'];
if (requiredFields.every(function(field) { return req.body[field]; })) {
//Continue
} else {
res.json({ success: false, message: 'Missing request body'});
}
答案 1 :(得分:1)
有很多方法可以做到这一切,最受欢迎的似乎是:
两者都允许您定义一个所谓的Schema
,它表示您希望接收并采取行动。
请注意,作业是由hapi团队创建的(hapi.js是express的替代品),您可能需要查看the express-joi模块,使其更适合与express
一起使用。
答案 2 :(得分:0)
您可以巧妙地使用validate.js
Declarative validations for JavaScript.