REST
REST definisce regole di architettura per interfacce distribuite. Risorse, richieste senza stato e collegamenti fanno parte dell’approccio.
Accedere alle risorse attraverso un’interfaccia uniforme
REST significa Representational State Transfer e indica uno stile architetturale. Le applicazioni scambiano rappresentazioni di risorse, come lo stato attuale di un progetto. I vincoli comprendono la separazione tra client e server, richieste senza stato, l’indicazione della possibilità di memorizzare le risposte in cache e un’interfaccia uniforme. I collegamenti nelle rappresentazioni guidano i passi successivi possibili; un indirizzo HTTP che restituisce JSON non basta a rispettare questi vincoli.
In un portale di progetti fittizio, l’applicazione richiede la rappresentazione di un progetto con GET /projects/P-42. Questa contiene anche un collegamento a /projects/P-42/tasks, previsto per accedere alle attività associate. Entrambi i percorsi sono nostri esempi di progettazione. La richiesta deve contenere le informazioni necessarie al server per comprenderla; il server non dovrebbe dover ricostruire un dialogo precedente con quel client. I dati del progetto possono comunque essere conservati in modo persistente. Senza stato descrive qui la comunicazione, non l’assenza di un database.
Il gruppo di integrazione deve quindi verificare come vengono regolati risorse, collegamenti, autorizzazioni e riutilizzo delle risposte. L’etichetta REST da sola non risponde a queste domande.
Fonti
Termini correlati
- APIUn’API definisce come un programma può usare funzioni o dati messi a disposizione da un altro programma.
- GraphQLGraphQL permette di richiedere campi tramite uno schema API tipizzato. Il server resta responsabile dell’accesso ai dati e delle autorizzazioni.
- OpenAPIOpenAPI descrive interfacce HTTP in forma leggibile dalle macchine, con percorsi, parametri e risposte. La descrizione deve corrispondere al servizio.
- Server-Sent EventsSSE trasmette notifiche testuali dal server al client via HTTP, per esempio sull’avanzamento di un lavoro in background.
- ETagUn ETag identifica una specifica versione della rappresentazione di una risorsa HTTP e consente letture o modifiche condizionali.
- Cross-Origin Resource SharingCORS regola l’accesso del browser alle risposte di un’altra origine. Non sostituisce l’autenticazione né il controllo delle autorizzazioni nell’API.
Il vostro progetto con ASES
Descriveteci il vostro progetto. Vi ricontatteremo con una prima valutazione.