Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

POST to mongo atlas

Boa tarde, fiz o código assim como o da instrutora porém não está conseguindo fazer o PUT, alguma sugestão do que está errado?

livrosRoutes.js

import express from "express";
import LivroController from "../controllers/livrosController.js";


const router = express.Router();

router
    .get('/livros', LivroController.listarLivros)
    .post('/livros', LivroController.cadastrarLivro)
    .put('/livros/:id', LivroController.atualizarLivro)

export default router;

livrosController.js

    static atualizarLivro = (req, res) => {
        const id = req.params.id;
        livros.findByIdAndUpdate(id, {$set: req.body}), (err) => {
            console.log(id)
          if(!err) {
            res.status(200).send({message: 'Livro atualizado com sucesso'})
          } else {
            res.status(500).send({message: err.message})
          }
        }
    }

Postman: OBS: A requisição fica sendo enviada infinitamente, não retorna nenhum erro Insira aqui a descrição dessa imagem para ajudar na acessibilidade Coloquei 100 como parametro pq estava testando sem ser o ID, mas passando o ID ocorre o mesmo.

1 resposta
solução!

Olá Felipe, tudo bem com você? Espero que sim!

Peço desculpa pela demora para responder o seu tópico.

Analisando o seu código, pude perceber que na construção do seu método você acabou se equivocando e fechando o parêntese do método "findByIdAndUpdate" sem incluir a arrow function que mostraria um resultado ou erro, ao fazer a requisição.

Com isso, para solucionar esse problema, você precisa retirar o parêntese de fechamento do método, que está depois do req.body e por após a penúltima "}" que representa o fechamento da arrow function. Vou está deixando o código corrigido logo abaixo.

    static atualizarLivro = (req, res) => {
        const id = req.params.id;

        livros.findByIdAndUpdate(id, {$set: req.body}, (err) => {
            if(!err) {
                res.status(200).send({message: 'Livro atualizado com sucesso.'});
            }
            else {
                res.status(500).send({message: `${err.message} - falha ao atualizar livro.`});
            }
        });
    }

Espero ter conseguido lhe ajudar. Caso tenha mais dúvidas ou problemas, estarei à disposição.

Abraços e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.