Interagire con un’API REST da Node.js generalmente implica l’invio di richieste HTTP a un server remoto e la gestione delle risposte che tornano dal server. Esistono diversi moduli in Node.js che possono facilitare questo processo, tra cui `axios`, `node-fetch` e `request`.
Ecco un esempio molto semplice di come si potrebbe utilizzare il modulo `axios` per inviare una richiesta GET a un’API REST:
```
var axios = require(‘axios’);
axios.get(‘https://api.esempio.com/dati’)
.then(function (response) {
console.log(response.data);
})
.catch(function (error) {
console.log(error);
});
```
In questo esempio, la funzione `axios.get` invia una richiesta GET all’API su `https://api.esempio.com/dati`. La risposta viene poi gestita da una funzione di callback `.then`, che semplicemente stampa i dati della risposta nella console. Se c’è un errore con la richiesta, viene gestito da una funzione di callback `.catch`, che stampa l’errore alla console.
È possibile inviare anche altri tipi di richieste HTTP come POST, PUT, e DELETE, passando dati aggiuntivi come argomento alla funzione corrispondente. Ad esempio, ecco come si potrebbe inviare una richiesta POST con alcuni dati JSON utilizzando axios:
```
var axios = require(‘axios’);
axios.post(‘https://api.esempio.com/dati’, {
nome: ‘Esempio’,
descrizione: ‘Questo è solo un esempio.‘
})
.then(function (response) {
console.log(response.data);
})
.catch(function (error) {
console.log(error);
});
```
In questo esempio, i dati da inviare sono passati come secondo argomento alla funzione `axios.post`. Questi dati vengono automaticamente convertiti in una stringa JSON e inclusi nel corpo della richiesta HTTP.