Ваша проблема в том, что isEmpty
не готов принимать вещи, которые не являются строками.
Быстрое исправление: установить значение по умолчанию
const isEmpty = (str=''): boolean => {
// code...
}
Лучшее решение : проверка ваших данных.
При разработке любого API вам необходимо проверить входные данные по вашему запросу.
Вы работаете на конечной точке API для создания нового пользователя, и вам потребуются некоторые данные вместе с запросом, таким как имя, фамилия, возраст и дата рождения пользователя, которого вы собираетесь создать.Очевидно, что передача Салли в качестве значения для возраста или 53 для даты рождения не приведет к правильному движению вещей.Вы действительно не хотите, чтобы плохие данные попадали в ваше приложение, так что вы делаете?Ответ - проверка данных. Ссылка .
Я приведу быстрый пример для этого случая, используя Joi :
// code...
const schema = {
text: Joi.string()
};
app.post('/', (req, res) => {
//my code starts here
const data = req.body;
const {error, value} = Joi.validate(data, schema);
if(error) {
return res.status(400).json(error);
}
// ends here
var resText: string = "NotEmpty"
const text: string = req.body.text
if (isEmpty(text)) {
resText = "Empty"
}
console.log("text: ", text)
console.log("resText: ", resText)
res.send("Echo " + resText)
});
// code...