View a markdown version of this page

Bidang GraphQL - AWS AppSync GraphQL

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 lainnya. Misalnya, berikut adalah tipe Person objek:

type Person { name: String age: Int }

Bidang dalam hal ini masing-masing adalah name age String dan memegang Int nilai dan. 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 instance Person dari sumber data. Saat Anda menambahkan atau mengambil Person di server GraphQL Anda, Anda dapat mengharapkan data mengikuti format jenis dan bidang Anda, yaitu, struktur data Anda dalam skema menentukan bagaimana data 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 instance Person dari sumber data sebagai array. Dalam 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 tipe objek biasa.

Non-nulls

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

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

Bid name ang tidak dapat secara eksplisit null. Jika Anda menanyakan sumber data dan memberikan input nol untuk bidang ini, kesalahan akan muncul.

Anda dapat menggabungkan daftar dan non-nol. 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 null. Dalam kasus penggunaan 2, daftar itu sendiri tidak dapat disetel ke null. Dalam kasus penggunaan 3, daftar dan itemnya tidak boleh nol. Namun, bagaimanapun, Anda masih dapat mengembalikan daftar kosong.