Boa tarde, Gostaria de uma ajuda para conseguir ajustar esse erro, não consigo deletar, aparece o erro 404, ja verifiquei o código e acredito que esteja correto, alguém poderia me ajudar? ** controladores** const { getTodosLivros, getLivroPorId, insereLivro, modificaLivro, deletaLivroPorId } = require("../servicos/livro")
function getLivros(req, res) { try { const livros = getTodosLivros() res.send(livros) } catch (error) { res.status(500) res.send(error.message) } }
function getLivro(req, res) { try { const id = req.params.id
if(id && Number(id)) {
const livro = getLivroPorId(id)
res.send(livro)
} else {
res.status(422)
res.send("Id inválido")
}
} catch (error) {
res.status(500)
res.send(error.message)
}
}
function postLivro(req, res) { try { const livroNovo = req.body if(req.body.nome) { insereLivro(livroNovo) res.status(201) res.send("Livro inserido com sucesso") } else { res.status(422) res.send("O campo nome é obrigatório") }
} catch(error) {
res.status(500)
res.send(error.message)
}
}
function patchLivro(req, res) { try { const id = req.params.id
if(id && Number(id)) {
const body = req.body
modificaLivro(body, id)
res.send("Item modificado com sucesso")
} else {
res.status(422)
res.send("Id inválido")
}
} catch(error) {
res.status(500)
res.send(error.message)
}
}
function deleteLivro(req, res) { try { const id = req.params.id
if(id && Number(id)) {
deletaLivroPorId(id)
res.send("livro deletado com sucesso")
} else {
res.status(422)
res.send("ID inválido")
}
} catch (error) {
res.status(500)
res.send(error.message)
}
}
module.exports = { getLivros, getLivro, postLivro, patchLivro, deleteLivro }
ROTAS
const { Router } = require("express") const { getLivros, getLivro, postLivro, patchLivro, deleteLivro } = require("../controladores/livro")
const router = Router()
router.get('/', getLivros)
router.get('/:id', getLivro)
router.post('/', postLivro)
router.patch('/:id', patchLivro)
router.delete('/:id', deleteLivro)
module.exports = router
SERVICOS
const fs = require("fs")
function getTodosLivros() { return JSON.parse( fs.readFileSync("livros.json") ) }
function getLivroPorId(id) { const livros = JSON.parse(fs.readFileSync("livros.json"))
const livroFiltrado = livros.filter( livro => livro.id === id )[0]
return livroFiltrado
}
function insereLivro(livroNovo) { const livros = JSON.parse(fs.readFileSync("livros.json"))
const novaListaDeLivros = [ ...livros, livroNovo ]
fs.writeFileSync("livros.json", JSON.stringify(novaListaDeLivros))
}
function modificaLivro(modificacoes, id) { let livrosAtuais = JSON.parse(fs.readFileSync("livros.json")) const indiceModificado = livrosAtuais.findIndex(livro => livro.id === id)
const conteudoMudado = { ...livrosAtuais[indiceModificado], ...modificacoes }
livrosAtuais[indiceModificado] = conteudoMudado
fs.writeFileSync("livros.json", JSON.stringify(livrosAtuais))
}
function deletaLivroPorId(id) { const livros = JSON.parse(fs.readFileSync("livros.json"))
const livrosFiltrados = livros.filter( livro => livro.id !== id )
fs.writeFileSync("livros.json", JSON.stringify(livrosFiltrados))
}
module.exports = { getTodosLivros, getLivroPorId, insereLivro, modificaLivro, deletaLivroPorId }
APP.JS
const express = require("express") const rotaLivro = require("./rotas/livro") const rotaFavorito = require("./rotas/favorito")
const cors = require("cors")
const app = express() app.use(express.json()) app.use(cors({origin: "*"}))
app.use('/livros', rotaLivro) app.use('/favoritos', rotaFavorito)
const port = 8000
app.listen(port, () => {
console.log(Escutando a porta ${port}
)
})