Я настроил express бэкэнд, где мне нужно самому кодировать свои маршруты. Для маршрута POST мы должны убедиться, что имя уже не присутствует в жестко заданном массиве, прежде чем мы его примем. Я использовал для этого некоторую функцию и это работает в некоторой степени. Вызывает ошибку после однократного повторения записи, есть ли способ предотвратить это первоначальное дублирование?
const express = require('express')
const app = express()
app.use(express.json())
let persons = [
{
"name": "Dan Abramov",
"number": "12-43-234345",
"id": 1
},
{
"name": "Mary Poppendieck",
"number": "39-23-6423122",
"id": 2
},
{
"name": "Kshitij Tapre ",
"number": "81131381",
"id": 3
}
]
app.post('/api/persons', (req, res) => {
const person = req.body
const chkname=person.name
console.log(persons.some(e1=>e1.name===chkname))
if (persons.some(e1=>e1.name===chkname)) {
res.status(406).send('Name already exists')
}else{
if (person.name&&person.number) {
person.id=genId(persons)
persons = persons.concat(person)
res.json(person)
}else{
res.status(406).send('Data incomplete')
}
}
})