11
respostas

Erro ao fazer o POST do livro

No Postman, ao fazer o POST do livro com id: 3, é retornado apenas um objeto vazio "{}". O que faço para corrigir?

11 respostas

Envia uma foto do código

import express from "express";

const app = express();

app.use(express.json())

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

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

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('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); })

app.delete('/livros/:id', (req, res) => { let {id} = req.params; let index = buscaLivro(id); livros.splice(index, 1); res.send(Livro ${id} removido com sucesso); })

function buscaLivro(id) { return livros.findIndex(livro => livro.id == id) }

export default app

Vc tá conseguindo fazer body certinho? Outra pergunta, quando vc fala do retorno, é de quando mostra todos os livros ou logo após o post?

Eu consigo digitar no body sem problemas, e quando falo do retorno, falo de quando faço um get logo após o post, tenho como retorno apenas "{}".

Man, eu copiei e colei o mesmo código que o seu e deu certinho oq vc ta falando, quer trocar ideia no disc?

Eu consegui resolver aqui, eu acredito que era um problema com o express no meu computador, mas já está tudo certo, muito obrigado pela atenção mano!

Olá, provavelmente era porquê estava esquecendo de mudar lá no postman de text para JSON no body.

Crl mano, Ricardo Felipe! Me salvou kkk muito obrigado, era exatamente isso! E o engraçado é que em algum momento o servidor trocou de json pra texto sozinho, por isso não estava achando aqui.

Que bom que te ajudei cara ;)

Pessoal boa noite! Estou com o mesmo problema do Caio, se puder posta como vc consegui resolver Insira aqui a descrição dessa imagem para ajudar na acessibilidadeInsira aqui a descrição dessa imagem para ajudar na acessibilidadeInsira aqui a descrição dessa imagem para ajudar na acessibilidade

Encontrei o erro: no postman é necessario adicionar no headers Insira aqui a descrição dessa imagem para ajudar na acessibilidade