View a markdown version of this page

Campi GraphQL - AWS AppSync GraphQL

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Campi GraphQL

I campi esistono nell'ambito di un tipo e contengono il valore richiesto dal servizio GraphQL. Sono molto simili alle variabili di altri linguaggi di programmazione. Ad esempio, ecco un tipo di Person oggetto:

type Person { name: String age: Int }

I campi in questo caso sono name age e contengono rispettivamente un Int valore String and. I campi oggetto come quelli mostrati sopra possono essere utilizzati come input nei campi (operazioni) delle query e delle mutazioni. Ad esempio, vedi quanto segue: Query

type Query { people: [Person] }

Il people campo richiede tutte le istanze di Person dall'origine dati. Quando aggiungi o recuperi un file Person nel tuo server GraphQL, puoi aspettarti che i dati seguano il formato dei tuoi tipi e campi, ovvero la struttura dei tuoi dati nello schema determina come saranno strutturati nella tua risposta:

} "data": { "people": [ { "name": "John Smith", "age": "50" }, { "name": "Andrew Miller", "age": "60" }, . . . ] } }

I campi svolgono un ruolo importante nella strutturazione dei dati. Di seguito sono illustrate un paio di proprietà aggiuntive che possono essere applicate ai campi per una maggiore personalizzazione.

Elenchi

Gli elenchi restituiscono tutti gli elementi di un tipo specificato. È possibile aggiungere un elenco al tipo di campo utilizzando le parentesi[]:

type Person { name: String age: Int } type Query { people: [Person] }

InQuery, le parentesi che lo circondano Person indicano che si desidera restituire tutte le istanze dell'Personorigine dati come array. Nella risposta, i age valori name e di ciascuna Person verranno restituiti come un unico elenco delimitato:

} "data": { "people": [ { "name": "John Smith", # Data of Person 1 "age": "50" }, { "name": "Andrew Miller", # Data of Person 2 "age": "60" }, . # Data of Person N . . ] } }

Non sei limitato a tipi di oggetti speciali. È inoltre possibile utilizzare gli elenchi nei campi dei tipi di oggetti normali.

Non-nulls

Non-nulls indicare un campo che non può essere nullo nella risposta. È possibile impostare un campo su un valore non nullo utilizzando il simbolo: !

type Person { name: String! age: Int } type Query { people: [Person] }

Il name campo non può essere esplicitamente nullo. Se dovessi interrogare l'origine dati e fornissi un input nullo per questo campo, verrebbe generato un errore.

È possibile combinare elenchi e numeri non nulli. Confronta queste domande:

type Query { people: [Person!] # Use case 1 } . . . type Query { people: [Person]! # Use case 2 } . . . type Query { people: [Person!]! # Use case 3 }

Nel caso d'uso 1, l'elenco non può contenere elementi nulli. Nel caso d'uso 2, l'elenco stesso non può essere impostato su null. Nel caso d'uso 3, l'elenco e i relativi elementi non possono essere nulli. Tuttavia, in ogni caso, puoi comunque restituire elenchi vuoti.