I lettori come te aiutano a sostenere MUO. Quando effettui un acquisto utilizzando i link sul nostro sito, potremmo guadagnare una commissione di affiliazione. Per saperne di più.

GraphQL è un potente linguaggio di query che consente ai client di richiedere solo i dati di cui hanno bisogno da un server. Ti aiuta ad aumentare la velocità delle richieste poiché puoi personalizzare le query per recuperare solo dati specifici.

GraphQL ha due tipi di operazioni: query e mutazioni. Nonostante le loro somiglianze, hanno scopi molto diversi.

Differenze tra query GraphQL e mutazioni

Le query e le mutazioni sono simili in quanto le usi per fare richieste a API GraphQL. Tuttavia, differiscono per sintassi, modalità di esecuzione e utilizzo.

La sintassi delle query e delle mutazioni

La sintassi di base di una query GraphQL è la seguente:

query getProdotto($id: ID!) {
prodotto (id: $id) {
nome
prezzo
}
}

Ecco cosa significa questo codice:

  • query è la parola chiave che identifica la richiesta come query.
  • getProduct è il nome dell'operazione
  • $id è la variabile
  • ID! è il tipo di variabile.
instagram viewer

Se non hai bisogno delle variabili, omettile e definisci la query in questo modo:

query getProdotti {
prodotti {
nome
prezzo
}
}

In alcune situazioni, puoi omettere la parola chiave e il nome della query, scrivendo una query GraphQL come questa:

prodotti {
nome
prezzo
}

Sebbene questo formato funzioni, l'utilizzo della parola chiave query è migliore per la leggibilità.

La sintassi delle mutazioni è simile alle query tranne per l'utilizzo della parola chiave di mutazione.

mutazione AddNewProduct ($name: String!, $price: Number!) { 
addProduct (nome: $nome, prezzo: $prezzo) {
nome
prezzo
}
}

Diverse modalità di esecuzione

Un'altra differenza tra una query e una mutazione è che le query vengono eseguite in parallelo mentre le mutazioni vengono eseguite in modo sincrono. Quando esegui due mutazioni, verranno eseguite una dopo l'altra, in ordine

Usi contrastanti per query e mutazioni

È necessario utilizzare le query solo per le operazioni READ. Ad esempio, utilizza una query durante il recupero dei prodotti da un endpoint API.

Usa le mutazioni per le operazioni CREATE, UPDATE e DELETE. Si tratta essenzialmente di operazioni che alterano i dati memorizzati nel database.

Ad esempio, utilizza una mutazione quando aggiorni il nome di un cliente tramite un endpoint degli ordini.

Prendi l'abitudine di utilizzare le query e le mutazioni in modo appropriato

GraphQL è un potente linguaggio di query che ti consente di richiedere solo i dati di cui hai bisogno. Ci sono due operazioni che puoi eseguire in GraphQL: query e mutazioni.

Queste operazioni differiscono per sintassi, esecuzione e utilizzo previsto. È necessario utilizzare le query per le operazioni READ e le mutazioni per le operazioni CREATE, UPDATE e DELETE.