Lorenzo Tabarrini
Matricola n° 301996
Il servizio meteo è stato sviluppato per fornire alcuni dati meteo di diverse città italiane.
I dati vengono caricati dal "gestore" e possono
essere richiesti all' API Restful anche da un "utente" generico.
Lo scopo del servizio è quello di fornire i dati meteo al client.
Il linguaggio di programmazione utilizzato si basa su Express di Node JS.
Il servzio, rispetta tutte le caratteristiche delle API Restful.
Per quanto riguarda l'autenticazione del client, si è deciso di utilizzare il JWT (JSON Web Token).
Le librerie utilizzate sono molteplici:
- cookie-parser - E' stata utilizzata per usufruire dei cookie in fase di autenticazione.
- js-sha256 - E' stata utilizzata per criptare le password tramite l'algoritmo SHA 256.
- njwt - E' stata utilizzata per generare il JSON Web Token e firmare tutta la chiave.
L'endpoint del servizio è il seguente: https://servizio-meteo-giuliacci.glitch.me/
Autenticazione:
POST login
Per effettuare l'autenticazione al servizio, è necessario essere registrati nel sistema.
L'autenticazione avviene tramite la Basic Auth.
POST meteo
Rappresenta in formato JSON tutte le citta con i relativi dati meteo presenti nel servizio.
Il metodo non ha parametri da fornire al momento della richiesta HTTP.
GET meteoCitta
Rappresenta in formato JSON la città richiesta tramite identificativo.
Campo | Tipo | Descrizione | Obbligatorio |
---|---|---|---|
id |
integer | id della città di cui si vogliono sapere i dati meteo | Si |
GET aggiungiCitta
Rappresenta il metodo per aggiungere una nuova città al servizio.
La richiesta può essere effettuata
solo dall'amministratore del servizio (in questo caso l'utente "gestore").
Nel body della richesta HTTP, il metodo accetta solo
il tipo di contenuto application/json
nel seguente formato:
{
"citta":"nomeCitta",
"temperatura":{
"numero": "temperatura",
"UM": "unitaDiMisura"
},
"fenomeniAtmosferici":"tipoDiFenomenoAtmosferico",
"umidita":{
"numero":"umidita",
"UM":"unitaDiMisura"
}
}
DELETE eliminaCitta
Elimina i dati meteo di una certa città tramite l'identificativo.
Campo | Tipo | Descrizione | Obbligatorio |
---|---|---|---|
id |
integer | id della città di cui si vogliono eliminare i dati meteo | Si |
POST modificaDato
Modifica un certo tipo di dato metereologico.
Campo | Tipo | Descrizione | Obbligatorio |
---|---|---|---|
id |
integer | id della città di cui si vogliono modificare i dati meteo | Si |
campo |
string | nome del campo che si vuole modificare (Vedi la struttura di Campo) | Si |
nuovoValore |
integer, string | nuovo valore da assegnare al campo indicato precedentemente | Si |
Sigla | Campo |
---|---|
c |
citta |
tn |
temperatura => numero |
tum |
temperatura => UM |
fa |
fenomeniAtmosferici |
un |
umidita => numero |
uum |
umidita => UM |
La messa online del servizio è stata possibile tramite l'applicativo online Glitch.
Alcuni esempi effettuati con il client Postman
Autenticazione:
Aggiunta della città con i relativi dati metereologici:
Eliminazione di una città tramite l'identificativo della città: