Toda vez que eu requisitava o verbo "PUT" recebia esse erro 400. a soluçao foi; acima do botao "send" do Postman tem uma opçao de "salvar" depois que fizer o "Post" do novo livro é preciso salvar pra depois fazer o "PUT". tentei varias outras coisas só essa opção deu certo pra mim. Se vai fazer a diferença la nao frente eu nao sei.
este é o meu código.
App.js
import express from "express";
const app = express();
app.use(express.json());
const livros = [
{ id: 1, "titulo": "Senhjor dos Anéis"},
{ id: 2, "titulo": "O Hobbit"}
]
app.get('/', (req, res) => {
res.status(200).send('Curso de Nodejs');
})
app.get('/livros', (req, res) => {
res.status(200).json(livros);
})
app.get('/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('Livros 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
server.js
import app from './src/app.js'
const port = process.send.PORT || 3000;
app.listen(port, () => { //
console.log(`Servidor escutando em http://localhost:${port}`);
});