Executo o código no Postman, consigo pegar os items, mas na hora que vou buscar pelo id para atualizar ou deletar, é gerado um erro.
import express from "express";
const app = express();
// Middlewares para converter as requisições para json
app.use(express.json());
const livros = [
{
id: 1,
titulo: "O Senhor do Anéis",
},
{
id: 2,
titulo: "O Hobbit",
}
];
// Funcao para buscar um livro pelo ID
function buscaLivro(id) {
return livros.findIndex(livro => {
return livro.id === Number(id);
});
};
app.get("/", (req, res) => {
res.status(200).send('Testando API com Express');
});
app.get("/livros", (req, res) => {
res.status(200).json(livros);
});
// rota de localiza livro pelo ID
app.get("/livros/:id", (req, res) => {
const index = buscaLivro(req.params.id);
res.status(200).json(livros[index]);
});
// rota de criação de um novo objeto dentro da rota Livros
app.post("/livros", (req, res) => {
livros.push(req.body);
res.status(201).send("Livro Cadastrado com Sucesso!")
});
// Alterar um registro que já existe
app.put("/livros/:id", (req, res) => {
const index = buscaLivro(req.params.id);
livros[index].titulo = req.body.titulo;
res.status(200).json(livros);
});
// Deletar um livro
app.delete ("livros/:id", (req, res) => {
const index = buscaLivro(req.params.id);
livros.splice(index, 1);
res.status(200).send("Livro removido com sucesso!");
});
export default app;``
Não consigo entender o porquê.