Connessione a MySQL con Fastify

Mattepuffo's logo
Connessione a MySQL con Fastify

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!


Condividi

Commentami!