В моем приложении React я делаю выборку, чтобы добавить строку в базу данных (PostgreSQL):
addToDatabase() {
fetch(`${'127.0.0.1:3000'}/add`, {
method: 'PUT',
body: JSON.stringify(this.state.person),
headers: {
'Content-Type': 'application/json',
'Accept': 'application/json'
}
})
...
}
this.state.person обычно имеет следующий формат:
{id: 1, surname: 'Jones', name: 'John', city: 4}
В бэкэнде я использую sequelize для добавления строки в базу данных:
app.route('/add')
.put((req, res) => {
Person.create({
surname: req.body.surname,
name: req.body.name,
city: req.body.city
});
res.send(JSON.stringify({ success: true }));
});
Иногда мне нужно добавить строку только с фамилией.Таким образом, this.state.person имеет следующий формат:
{id: 1, surname: 'Jones'}
Но я получаю сообщение об ошибке:
Unhandled rejection SequelizeDatabaseError: invalid input syntax for integer: ""
Backend всегда ожидает всех заполненных полей,Как добавить запись с выборочно заполненными полями?