Estrutura do componente servidor (nodejs) UNIVEL
PessoALL, foi mals, segue ai os métodos para o componente do lado do servidor prover os serviços REST
var mysql = require(‘mysql’);
var connection = mysql.createConnection({
host : ‘localhost’,
user : ‘xxxxx’, // substituir pela sua instalação
password : ‘xxxxx’, //substituir pela sua instalação
database : ‘xxxxxxx’ //substituir pela sua instalação
});
exports.buscaTodos = function(req, res){
if (connection) {
connection.query(‘select * from vinho order by name’, function(err, rows, fields) {
if (err) throw err;
res.contentType(‘application/json’);
res.write(JSON.stringify(rows));
res.end();
});
}
};
exports.buscaPorId = function(req, res){
var id = req.params.id;
if (connection) {
var queryString = ‘select * from vinho where id = ?’;
connection.query(queryString, [id], function(err, rows, fields) {
if (err) throw err;
res.contentType(‘application/json’);
res.write(JSON.stringify(rows));
res.end();
});
}
};
exports.adicionaVinho = function (req, res){
var vinho = req.body,
queryString = ‘INSERT INTO vinho SET ?’;
// Percebam a sintaxe do comando, ao invés de VALUES o módulo usa SET
// enquanto INSERT INTO … SET x = y é uma expressão VALIDA
// INSERT INTO … VALUES x = y NÃO É VALIDA
console.log(‘adicionando vinho….’ + JSON.stringify(vinho));
if (connection) {
//console.log(‘pronto para inserir….’);
connection.query(queryString, vinho, function(err, result){
});
//console.log(‘adicionado : ‘);
res.end();
} else {
console.log(‘Ops… B.O. na conexão…. verifique o comando adicionaVinho’);
}
};
exports.updateVinho = function (req, res){
var vinho = req.body,
id = req.params.id, // recupera o id do vinho a ser atualizado
queryString = ‘UPDATE vinho SET ? WHERE id=’+id;
if (connection) {
//console.log(‘pronto para atualizar….’ + vinho);
connection.query(queryString, vinho, function(err, result){
});
//console.log(‘adicionado : ‘);
res.end();
} else {
console.log(‘Ops… B.O. na conexão…. verifique a função updateVinho’);
}
};
exports.deletaVinho = function (req, res){
var id = req.params.id, // recupera o id do vinho a ser excluído
queryString = ‘DELETE FROM vinho WHERE id=’+id;
if (connection) {
//console.log(‘pronto para APAGAR….’ + queryString);
connection.query(queryString, function(err, result){
});
//console.log(‘adicionado : ‘);
res.end();
} else {
console.log(‘Ops… B.O. na conexão…. verifique a função deletaVinho’);
}
};
// PARA TESTES DE CONEXÃO
/*
connection.connect(function(error){
if(error) {
console.log(“Erro na conexão com o banco: ” + error);
} else {
console.log(“OK – Conectado”);
}
});
connection.end();
*/