Olá Renan! Como vai?
Pelo que você descreveu, parece que o erro está relacionado à validação dos campos ao tentar cadastrar um livro no MongoDB usando o Mongoose. O erro "validation failed" indica que o Mongoose está esperando que certos campos estejam presentes no req.body, mas eles não estão.
Aqui estão algumas sugestões para resolver o problema:
Verifique o req.body: certifique-se de que o corpo da requisição (req.body) que você está enviando através do Postman contém todos os campos necessários (titulo, editora, preco, paginas). Você pode fazer isso verificando a aba "Body" no Postman e garantindo que os dados estejam no formato JSON correto. Por exemplo:
{
"titulo": "The Lord Of The Rings",
"editora": "The Fake",
"preco": 10,
"paginas": 200
}
Middleware express.json(): certifique-se de que o middleware express.json() está sendo usado corretamente para que o Express possa interpretar o corpo da requisição como JSON. Isso deve estar configurado no seu arquivo de rotas ou no app.js.
Modelo do mongoose: verifique se o modelo do Mongoose está configurado para exigir esses campos. Por exemplo, no seu esquema de livro, você pode ter algo assim:
const livroSchema = new mongoose.Schema({
titulo: { type: String, required: true },
editora: { type: String, required: true },
preco: { type: Number, required: true },
paginas: { type: Number, required: true }
});
Se algum campo estiver faltando no req.body, o Mongoose irá gerar um erro de validação.
Testar com dados mínimos: tente enviar uma requisição com apenas os campos obrigatórios para ver se o erro persiste. Isso pode ajudar a isolar o problema.
Espero ter ajudado e bons estudos!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.