Connessione a MySQL con Fastify
In questo articolo vediamo come collegare Fastify ad un db MySQL.
Prima di tutto dobbiamo installare un package apposito:
npm i @fastify/mysql
Fatto questo vediamo il nostro codice Javascript.
Creeremo due rotte, con due query diverse:
const fastify = require('fastify')({
logger: true
});
fastify.register(require('@fastify/mysql'), {
host: '',
database: '',
user: '',
password: ''
});
fastify.get('/', function (request, reply) {
fastify.mysql.getConnection(onConnect)
function onConnect(err, client) {
if (err) return reply.send(err);
client.query(
'SELECT canzone_titolo, canzone_autore FROM canzoni', [],
function onResult(err, result) {
client.release();
reply.send(err || result);
}
)
}
});
fastify.get('/canzone/:genere', function (request, reply) {
fastify.mysql.getConnection(onConnect)
function onConnect(err, client) {
if (err) return reply.send(err);
client.query(
'SELECT canzone_titolo, canzone_autore FROM canzoni WHERE canzone_genere = ?', [request.params.genere],
function onResult(err, result) {
client.release();
reply.send(err || result);
}
)
}
});
fastify.listen({port: 3000}, function (err, address) {
if (err) {
fastify.log.error(err);
process.exit(1);
}
});
Alla prima rotta non passiamo nulla, ed estraiamo tutti i dati.
Alla seconda passiamo un parametro che useremo nella query.
Enjoy!
PS: grazie al forum html.it per le dritte con le problematiche che ho avuto!
javascript npm nodejs fastify mysql database
Commentami!