Я сейчас использую Swagger (2.0) на Node.js.Мой файл YAML проверяется правильно, и запросы выполняются.Мой конкретный вызов имеет тело запроса, использующее следующий формат -
{
"postalCode": "invalidpostalcode",
"phone": "invalidnumber",
"website": "invalidwebsite"
}
Я хотел бы проверить каждую переменную тела, прежде чем переходить к следующему фрагменту кода.Для проверки данных я хотел бы использовать validator.js .
Теперь мой базовый код проверки выглядит примерно так -
if(!validator.isURL(req.body.website)){
var tmp = {
"message": req.__('error.url', {
field: req.body.website
})
}
res.status(400).json(tmp);
return;
}
if(!validator.isPostalCode(req.body.postalCode,'any')){
var tmp = {
"message": req.__('error.postalCode', {
field: req.body.postalCode
})
}
res.status(400).json(tmp);
return;
}
Есть ли лучший способ проверки данных, отправленных через API, который потребовал бы меньше кода?Например, используя функцию для управления большей частью логики?
, хотя это один из примеров конечной точки, в будущем у меня будут некоторые, для которых потребуется более 20 параметров тела.
Я попытался создать функцию, которая будет возвращать код ответа.Однако это возвращает ошибку Cannot set headers after they are sent to the client.