Estou tendo um problema com o PUT que está me retornando o seguinte erro:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Error</title>
</head>
<body>
<pre>Cannot POST /livros/3</pre>
</body>
</html>
Até o post o app funcionava como deveria, mas depois de acrescentar o put, e a function, nem mesmo o post funciona. Meu código:
import express from "express";
import { application } from "express";
const app = express();
app.use(express.json());
const livros = [
{id: 1, "título": "Senhor dos Anéis"},
{id: 2, "título": "O Hobbit"}
]
app.get('/', (req, res) => {
res.status(200).send('Curso de Node');
})
app.get('/livros', (req, res) => {
res.status(200).json(livros);
})
app.put('/livros/:id', (req, res) => {
let index = buscaLivro(req.params.id);
res.json(livros[index]);
})
app.post('/livros', (req, res) => {
livros.push(req.body);
res.status(201).send('Livro foi cadastrado com sucesso');
})
app.put('/livros/:id', (req, res) => {
let index = buscaLivro(req.params.id);
livros[index].titulo = req.body.titulo;
res.json(livros);
})
function buscaLivro(id) {
return livros.findIndex(livro => livro.id == id)
}
export default app;