Di tutto un pò sul mondo della tecnologia e non solo!
Di tutto un pò sul mondo della tecnologia e non solo!

API – Application Programming Interface – Prima Parte

Creazione del primo esempio: due semplici Endpoint

Prima di procedere con lo sviluppo del codice per la creazione dell’API del primo esempio, bisogna installare NodeJS. Quest’ultimo si può scaricare dal seguente link.

Una volta installato NodeJS, di cui nel web troverete un infinità di guide, si può procedere con la creazione di una cartella di progetto; Io l’ho creata in “Documenti”, voi potete farlo dove volete.

Una volta creata la cartella, da linea di comando, (Windows: CMD Amministratore) si digiti le seguenti righe, per inizializzare il progetto NodeJS e installare il framework Express.

npm init -y
npm install express --save

All’interno della cartella appena creata comparirà un file package.json frutto del comando “npm-init-y” appena eseguito.

A questo punto, sempre dalla cartella di progetto, si deve creare il file app.js (con un editor qualsiasi) e successivamente implementeremo a codice gli “endpoint” della nostra API WEB. In tale contesto, ho utilizzato il termine “endpoint“, ma meglio spiegarne il significato.

Cosa significa il termine “endpoint”?

Un “endpoint” in un’API rappresenta un punto finale specifico o un URL a cui i client possono inviare richieste per accedere a risorse o servizi. Gli “endpoint” definiscono le operazioni che un client può eseguire su una risorsa, ad esempio ottenere dati, inviare dati, aggiornare dati o eliminarli. Un “endpoint” è un componente fondamentale di un’API RESTful (Representational State Transfer), che è un’architettura comune per la progettazione di API WEB.

Continuando con l’esempio, dopo aver creato il file app.js scrivete il seguente codice.

const express = require('express');
const app = express();
const databasesim = [
   { id: 1, name: 'Elefante' },
   { id: 2, name: 'Gatto' },
   { id: 3, name: 'Leone' },
  ]
const port = 3000;
//primo enpoint generico
app.get('/api/resource', (req, res) => {
    
   const dataFromDatabase = { id: 1, name: 'Esempio di dato dal database' };
   res.json(dataFromDatabase);
});
//secondo endpoint con il passaggio dell'id e restituzione 16
app.get('/api/resource/:id', (req, res) => {
     const id = parseInt(req.params.id);
     const dataFromDatabase = databasesim.find((item) => item.id === id);
     if (dataFromDatabase) {
       res.json(dataFromDatabase);
     } else {
       res.status(404).json({ message: 'Dato non trovato' });
     }
   });

app.listen(port, () => {
   console.log(`Server in ascolto sulla porta ${port}`);
});

Come si vede, le prime due righe, la prima e la seconda hanno il compito di importare il modulo Express e inizializzare la variabile “app” come applicazione Express.

Dalla riga tre alla riga sette si dichiara il database “simulato”, che chiamo per comodità “databasesim” in cui vengono inseriti degli oggetti JSON contenenti dei dati, in questo caso, a scopo di esempio utilizzeremo dei nomi di animali.

Nella riga otto si definisce la porta sui cui il server Express ascolterà le richieste HTTP assegnando alla variabile “port” tale valore. In questo caso, malgrado tutte le comunicazioni dovrebbero essere eseguite solamente tramite il protocollo HTTPS, ho utilizzato il protocollo HTTP per semplificare l’esempio.

Dalla riga dieci alla riga quattordici viene definito il primo “endpoint” con la route /api/resource. Quando viene fatta una richiesta GET a questa route, il server risponde restituendo un oggetto JSON. Attenzione, questo è un esempio statico e restituisce sempre lo stesso dato.

Nelle righe dalla sedici alla ventiquattro viene definito il secondo “endpoint” con la route /api/resource/:id che consente di passare il parametro “id” nell’URL. Quando viene fatta una richiesta GET a questa route (endpoint), il server cerca un oggetto nel database simulato “databasesim” con l'”id” corrispondente. Se l’oggetto viene trovato, viene restituito come risposta JSON. Se l’oggetto non viene trovato, viene restituito uno stato 404 (Not Found) con un messaggio di errore JSON.

Il codice presente nell’intervallo di righe dalla ventisei alla ventotto avviano il server Express in ascolto sulla porta specificata nella variabile “port“, in questo caso la 3000. Quando il server è in esecuzione, verrà stampato un messaggio di log sulla console per indicare che il server è attivo.
Per avviare l’applicazione basta scrivere da linea di comando all’interno della cartella contenente il file app.js il comando seguente:

node app.js

Ora, che abbiamo creato le API con l’aiuto del framework Express e NodeJS, non ci resta che creare il client.

Pagina Successiva | Pagina Precedente

Rating: 4.3/5. From 3 votes.
Please wait...

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

1 × due =

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.