Mesmo depois de ter feito as devidas alterações, quando executo o cadastro pelo "cadastra-livros-terminal.js" ainda está retornando status 200 juntamente com o HTML inteiro.
cadastra-livros-terminal.js
var http = require('http');
var configuracoes = {
hostname: 'localhost',
port: 3000,
path: '/produtos',
method: 'post',
headers: {
'Accept': 'application/json',
'Content-type': 'application/json'
}
};
var client = http.request(configuracoes, function(res){
console.log(res.statusCode);
res.on('data', function(body){
console.log('Corpo:' +body);
});
});
var produto = {
titulo : '',
descricao : 'node, javascript e um pouco de http',
preco : 29.50
}
client.end(JSON.stringify(produto));
Produtos.js
module.exports = function(app){
var listaProdutos = function(req, res){
var connection = app.infra.connectionFactory();
var ProdutosDAO = new app.infra.ProdutosDAO(connection);
ProdutosDAO.lista(function(err, result){
res.format({
html: function(){
res.render('produtos/lista', {lista: result});
},
json: function(){
res.json(result)
}
});
});
connection.end();
};
app.get('/produtos', listaProdutos);
app.get('/produtos/form',function(req, res){
res.render('produtos/form',{errosValidacao:{}, produto:{}});
});
app.post("/produtos",function(req,res) {
var produto = req.body;
var connection = app.infra.connectionFactory();
var produtosDao = new app.infra.ProdutosDAO(connection);
req.assert('titulo ', 'Titulo deve ser preenchido').notEmpty();
req.assert('preco','Preco deve ser um número').isFloat();
var errors = req.validationErrors();
if(errors){
console.log('dentro fo if');
res.format({
html: function(){
res.status(400).render('produtos/form',{errosValidacao:erros, produto:produto});
},
json: function(){
console.log(errors);
res.status(400).json(errors)
}
});
}
produtosDao.salva(produto,function(erros,resultado){
res.redirect("/produtos");
});
connection.end();
});
}
Alguém pode me ajudar a descobrir o que esta acontecendo ?