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] }
people
Bidang 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] }
name
Bidang 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.