Oi, eu não consigo achar onde teve alteração de /produtos/salva para /produtos, porque se eu altero a rota e tiro o /salva, ele não cadastra mais, então eu preciso de ajuda para encontrar onde eu tenho que mudar as rotas, porque não está funcionando o cadastro terminal.
Produtos.js
module.exports = function(app) {
var listaProdutos = function(req,res){
var connection = app.infra.connectionFactory();
var produtosBanco = new app.infra.ProdutosDAO(connection);
produtosBanco.lista(function(erros, resultados){
res.format({
html: function(){
res.render("produtos/lista",{lista:resultados});
},
json: function(){
res.json(resultados);
}
});
});
connection.end();
};
app.get("/produtos", listaProdutos);
app.get('/produtos/form', function(req,res){
res.render('produtos/form', {errosValidacao:{}, produto: {}});
});
app.post('/produtos/salva', function(req,res){
var produto = req.body;
req.assert('titulo','Titulo é obrigatório').notEmpty()
req.assert('preco','Formato inválido').isFloat()
var erros = req.validationErrors();
if(erros){
res.format({
html: function(){
res.status(400).render('produtos/form',{errosValidacao:erros,produto:produto});
},
json: function(){
res.status(400).json(erros);
}
});
return;
}
var connection = app.infra.connectionFactory();
var produtosDAO = new app.infra.ProdutosDAO(connection);
produtosDAO.salva(produto, function(erros, resultados){
console.log(erros);
res.redirect('/produtos');
});
})
}
cadastro-livros-terminal
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 : 'mais sobre node',
descricao: 'node, javascript e um pouco sobre http',
preco: 100
};
client.end(JSON.stringify(produto));
É estranho, porque eu tinha só tirado o salva das rotas, mas quando manda salvar ainda aparece:
Cannot POST /produtos/salva
Tem mais algum lugar pra mudar? Tem alguma outra rota errada?