Connessione a PostgreSQL in Angel3

Mattepuffo's logo
Connessione a PostgreSQL in Angel3

Connessione a PostgreSQL in Angel3

In questo articolo vediamo come connetterci ad un db PostgreSQL in Angel3.

Abbiamo una rotta in cui inseriamo un paio di records che poi mandiamo in output in formato JSON.

Vi lascio come esercizio la creazione di una rotta apposita per recuperare i dati in POST ed aggiungere records al db.

Queste le dipendenze che ci servono:

dependencies:
  angel3_framework: ^6.0.0
  postgres: ^2.6.2

Qui sotto un pò di codice:

import 'package:angel3_framework/angel3_framework.dart';
import 'package:angel3_framework/http.dart';
import 'package:postgres/postgres.dart';

Future<void> main() async {
  var app = Angel();
  var http = AngelHttp(app);

  final conn = PostgreSQLConnection(
    'localhost',
    5432,
    'learningobjects',
    username: 'learningobjects',
    password: 'learningobjects',
  );

  await conn.open();

  app.get('/utenti', (req, res) async {
    await conn.query(
      'INSERT INTO utenti (email) VALUES (@email)',
      substitutionValues: {'email': 'mario@example.com'},
    );

    await conn.query(
      'INSERT INTO utenti (email) VALUES (@email)',
      substitutionValues: {'email': 'luisa@example.com'},
    );

    final results = await conn.query('SELECT id, email FROM utenti');

    final utenti = results
        .map((row) => {
              'id': row[0],
              'email': row[1],
            })
        .toList();

    return res.json({'utenti': utenti});
  });

  await http.startServer('localhost', 3000);
  print('Server avviato su http://localhost:3000');
}

Enjoy!


Condividi

Commentami!