Torna al blog
APIGraphQLREST

REST vs GraphQL: come scegliere

MUSTNODE SRL7 min di lettura

Due stili per le API

REST e GraphQL sono due approcci diversi alla costruzione di API. Non esiste un vincitore assoluto: ognuno ha contesti in cui eccelle. Capire le differenze aiuta a scegliere bene.

Come funziona REST

In REST ogni risorsa ha un proprio endpoint. Per ottenere dati correlati si fanno piu chiamate, e a volte si ricevono piu campi di quelli necessari (over-fetching) o ne mancano (under-fetching).

GET /utenti/42
GET /utenti/42/ordini
GET /ordini/100/articoli

Come funziona GraphQL

Con GraphQL il client descrive esattamente i dati che vuole, in una sola richiesta:

query {
  utente(id: 42) {
    nome
    ordini { totale articoli { nome } }
  }
}

Come scegliere

  • REST brilla per API semplici, cache HTTP nativa, e quando i consumatori sono pochi e prevedibili.
  • GraphQL brilla con client eterogenei (web, mobile) che hanno bisogno di dati diversi, e quando si vuole evitare over/under-fetching.

GraphQL aggiunge pero complessita: schema, resolver, gestione della cache e dei costi delle query.

Conclusione

La scelta dipende dai client e dalla complessita dei dati. In MUSTNODE valutiamo entrambi gli approcci e adottiamo quello che semplifica davvero l'integrazione per il progetto specifico.

Articoli correlati

Altri approfondimenti dalla categoria Architettura & Microservizi.