No Postman, ao fazer o POST do livro com id: 3, é retornado apenas um objeto vazio "{}". O que faço para corrigir?
No Postman, ao fazer o POST do livro com id: 3, é retornado apenas um objeto vazio "{}". O que faço para corrigir?
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
Encontrei o erro: no postman é necessario adicionar no headers