NodeJS – Creiamo un WebServer per API

Questa estate sta diventando davvero estenuante, piena di impegni e quasi sempre fuori dal mondo digitale; ma non vi mollo, vi posto una piccola guida che potrebbe essere utile alla realizzazione di un piccolo webserver che risponde in maniera tempestiva alle vostre richieste e magari possibilmente da integrare a qualche progetto esistente.

La nostra API nello specifico utilizzerà un modulo chiamato faker, che permette di realizzare utenze false a richiesta.

Sarà sicuramente basilare, per molti, per altri potrebbe essere un motivo per iniziare con Nodejs un’applicazione, per la precisione un framework, che viene usata per scrivere applicazioni in Javascript lato server. 

PARTIAMO DALLE FONDAMENTE (INSTALLAZIONE)

Partiamo dal presupposto che, diversa è l’installazione per diversi sistemi operativi, noi oggi faremo il tutto per Linux ovvero Ubuntu 19.

L’installazione risulta semplice, nel terminale scriveremo:

sudo apt-get update
sudo apt-get install nodejs npm
npm install express 
npm install faker
npm install body-parser

Proviamo a vedere su tutto è andato a buon fine con:

nodejs -v
npm -v

Dovremmo avere come risultato le rispettive versioni.

Installiamo adesso un client per la modifica dei js che andremo a realizzare, di solito si utilizza atom, scaricabile da qui. (per inciso è possibile utilizzare anche il notepad++)

PARTIAMO DALLE PRIME LINEE DI CODICE

Apriamo il nostro atom e realizziamo il primo file chiamato, server.js;

Il nostro file dovrà contenere queste linee di codice:

var express = require("express");
var bodyParser = require("body-parser");
var routes = require("./routes.js");
var app = express();

app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));

routes(app);

var server = app.listen(3000, function () {
    console.log("Server aperto su porta: ", server.address().port);
});

Il nostro servizio web richiama express e bodyparser, per aprire rispettivamente il webserver su porta 3000 e il bodyparser per ispezionare il contenuto della richiesta.

A questo punto realizziamo un’altro file js che chiameremo routes.js

var faker = require("faker");

var appRouter = function (app) {



  app.get("/", function (req, res) {
    res.status(200).send({ message: 'Benvenuti nella API di Runci.org' });
  });

  app.get("/user", function (req, res) {
    var data = ({
      firstName: faker.name.firstName(),
      lastName: faker.name.lastName(),
      username: faker.internet.userName(),
      email: faker.internet.email()
    });
    res.status(200).send(data);
  });

 app.get("/users/:num", function (req, res) {
   var users = [];
   var num = req.params.num;

   if (isFinite(num) && num  > 0 ) {
     for (i = 0; i <= num-1; i++) {
       users.push({
           firstName: faker.name.firstName(),
           lastName: faker.name.lastName(),
           username: faker.internet.userName(),
           email: faker.internet.email()
        });
     }

     res.status(200).send(users);

   } else {
     res.status(400).send({ message: 'Numero non valido' });
   }

 });
}

module.exports = appRouter;

Qui, utilizziamo il modulo faker per generare le utenze false, accoppiate alla richiesta effettuata tramite GET ovvero: app.get(“/user”, function (req, res) ritornerà l’ utenza generata in maniera Random, per più utenze basta inserire nel browser /users/numero come l’esempio in basse per avere una lista di false utenze.

Avviamo il nostro server web tramite linea di comando richiamando semplicemente:

nodejs server.js

Tutto qui, ovviamente qui abbiamo utilizzato delle utenze false, ma è la giusta base per creare qualsiasi cosa vi serva che il server risponda.

Buone vacanze, al prossimo articolo!

Leave a Reply

Your email address will not be published. Required fields are marked *