1
resposta

Retorno com Status 200

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 ?

1 resposta

Olha, eu vou apenas chutar.. mas acho que esse espaço extra pode estar influenciando.

'titulo '