Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

ERRO NO COMANDO PUT

import express from "express";

const app = express();

app.use(express.json());

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 => livros.id == id)
}

const livros = [
  {id: 1, "titulo": "Senhor dos Aneis"},
  {id: 2, "titulo": "O Hobbit"}
]

app.get('/', (req, res) => {
  res.status(200).send('Curso de Node');
}) 

app.get('/livros', (req, res) => {
  res.status(200).json(livros)
})

app.post('/livros',(req,res)=> {
    livros.push(req.body);
    res.status(201).send('O livro foi cadastrado com sucesso')
})

export default app

Quando vou fazer o PUT aparece essa mensagem de erro: Insira aqui a descrição dessa imagem para ajudar na acessibilidade

2 respostas
solução!

Boa tarde,

Creio que o problema seja um erro de digitação em buscaLivros: .findIndex(livro => livros.id == id). Substitua livros.id por livro.id

Dentro do findIndex estamos percorrendo a lista de livros e verificando o id de cada livro para ver se encontramos um id igual

Nossa, era isso mesmo! Muito obrigada, salvou meu dia!