Bidang GraphQL - AWS AppSync

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Bidang GraphQL

Bidang ada dalam lingkup tipe dan menyimpan nilai yang diminta dari layanan GraphQL. Ini sangat mirip dengan variabel dalam bahasa pemrograman lain. Sebagai contoh, berikut adalah jenis Person objek:

type Person { name: String age: Int }

Bidang dalam hal ini adalah name age dan dan memegang Int nilai String dan, masing-masing. Bidang objek seperti yang ditunjukkan di atas dapat digunakan sebagai input di bidang (operasi) kueri dan mutasi Anda. Misalnya, lihat Query di bawah ini:

type Query { people: [Person] }

peopleBidang meminta semua contoh Person dari dari sumber data. Ketika Anda menambahkan atau mengambil Person di server GraphQL Anda, Anda dapat mengharapkan data mengikuti format tipe dan bidang Anda, yaitu, struktur data Anda dalam skema menentukan bagaimana itu akan disusun dalam respons Anda:

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

Bidang memainkan peran penting dalam penataan data. Ada beberapa properti tambahan yang dijelaskan di bawah ini yang dapat diterapkan ke bidang untuk penyesuaian lebih lanjut.

Daftar

Daftar mengembalikan semua item dari jenis tertentu. Daftar dapat ditambahkan ke jenis bidang menggunakan tanda kurung[]:

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

DalamQuery, tanda kurung di sekitarnya Person menunjukkan bahwa Anda ingin mengembalikan semua contoh dari Person dari sumber data sebagai array. Sebagai tanggapan, age nilai name dan masing-masing Person akan dikembalikan sebagai daftar tunggal yang dibatasi:

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

Anda tidak terbatas pada jenis objek khusus. Anda juga dapat menggunakan daftar di bidang jenis objek biasa.

Non-nol

Non-null menunjukkan bidang yang tidak dapat nol dalam respons. Anda dapat mengatur bidang ke non-null dengan menggunakan simbol: !

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

nameBidang tidak bisa secara eksplisit nol. Jika Anda menanyakan sumber data dan memberikan input nol untuk bidang ini, kesalahan akan muncul.

Anda dapat menggabungkan daftar dan non-null. Bandingkan kueri ini:

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

Dalam kasus penggunaan 1, daftar tidak dapat berisi item nol. Dalam kasus penggunaan 2, daftar itu sendiri tidak dapat diatur ke null. Dalam kasus penggunaan 3, daftar dan item-itemnya tidak bisa null. Namun, bagaimanapun, Anda masih dapat mengembalikan daftar kosong.