Vai al contenuto

GraphQL

GraphQL permette di richiedere campi tramite uno schema API tipizzato. Il server resta responsabile dell’accesso ai dati e delle autorizzazioni.

API e contratti dati

Selezionare i campi necessari da un’API

GraphQL è un linguaggio di interrogazione per API con regole di esecuzione sul server. Uno schema tipizzato definisce i dati e le operazioni disponibili. L’applicazione seleziona da questo schema i campi necessari. GraphQL non richiede un database specifico.

Un’azienda di software fittizia progetta un portale clienti. La selezione { project(id: "P-42") { name } } richiede il nome di un progetto se lo schema dell’azienda offre questi campi e questo argomento. L’esempio inventato non è una richiesta inviata a un servizio esistente. L’implementazione del server deve reperire i dati e decidere se la persona che li richiede può vederli. Una chiamata conforme allo schema non concede da sola diritti di accesso; il campo interno internalRate deve restare inaccessibile ai clienti anche se lo richiedono esplicitamente.

Il portale deve quindi definire sia i campi offerti sia le regole di accesso. La selezione dei campi aiuta le viste con esigenze di dati differenti; tempi di risposta effettivi e lavoro del database vanno esaminati nell’implementazione.

Fonti