Konfigurasi dan Kueri GraphQL dengan Parse dan Relay
API GraphQL Parse Server mengikuti standar terbaru yang saat ini tersedia untuk API yang sangat skalabel dan proyek front-end yang ambisius.
Tim Open Source Parse memilih untuk mengikuti Spesifikasi Relay.
Relay adalah kerangka kerja JavaScript untuk membangun aplikasi React yang didorong oleh data yang didukung oleh GraphQL, dirancang dari awal untuk mudah digunakan, dapat diperluas, dan yang terpenting, berkinerja tinggi. Relay mencapai ini dengan kueri statis dan generasi kode di muka.
Mulai dari Parse 3.10, kompatibilitas penuh dengan Relay diimplementasikan. Dokumen ini akan memandu Anda melalui implementasi tersebut.
Untuk memulai tutorial ini, Anda akan membutuhkan:
- Sebuah aplikasi yang dibuat di Back4App
Pertama-tama, perlu dipastikan bahwa Anda memiliki aplikasi yang sudah ada yang dibuat di Back4App. Namun, jika Anda adalah pengguna baru, Anda dapat memeriksa tutorial ini untuk belajar bagaimana cara membuatnya.
Di Aplikasi baru Anda, pergi ke Database Browser dan klik tombol Buat kelas.
![Document image Document image](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/zAfYMf6sbeh5o9VjBeIkd_image.png?format=webp)
Pilih untuk membuat kelas Kustom dan berikan nama. Mengikuti skema contoh Relay, saya membuat kelas Faction, Ship, dan lainnya seperti yang dijelaskan dengan properti yang sesuai, tetapi Anda dapat membuat kelas Anda sendiri mengikuti dokumentasi ini. Cukup ubah kueri dan mutasi Anda sesuai. Ingat bahwa berdasarkan konvensi, kelas dimulai dengan huruf kapital, menggunakan CamelCase, dan tidak mengandung karakter khusus seperti spasi dan simbol. Klik Buat kelas ketika Anda selesai.
Dengan Kelas dan Properti Anda yang telah dibuat, Anda dapat pergi ke Konsol API dan kemudian Konsol GraphQL untuk mengeksekusi kueri dan mutasi Anda.
![Document image Document image](https://images.archbee.com/yD3zCY-NNBBIfd0uqcfR5/ozv6WReeEgNChHI3CjB3h_image.png?format=webp)
Kueri pertama kami akan mengambil objek berdasarkan objectId (jangan bingung dengan id). Parse telah berkembang dan sekarang kueri mendukung kedua ObjectId, yang sebelumnya dikenal sebagai id di versi sebelumnya, tetapi sekarang juga mendukung Global Id, yang dikenal sebagai id, yang mengacu pada ID global Relay dan memiliki format yang lebih panjang karena mengandung nama kelas yang dienkripsi di dalamnya.
Contoh ObjectId: EaT0dDk09v Contoh id (alias ID Global): RmFjdGlvbjpFYVQwZERrMDl2
Mari kita buat kueri pertama kami yang mengambil objek berdasarkan ObjectId:
Itu akan menghasilkan
Sekarang, mari kita ubah itu untuk GlobalId untuk Relay:
Dan perhatikan bahwa hasilnya akan sama:
Ini terjadi karena Global Id bekerja, seperti namanya yang menunjukkan, secara global, dan memiliki nama kelas yang terenkripsi di dalamnya, sehingga Parse tahu di mana mencari ID tersebut.
Juga dengan Global Id Anda dapat melakukan prefetch seperti spesifikasi Relay sebagai berikut:
yang akan menghasilkan
Koneksi Relay bekerja dengan cara yang sama di Parse dengan GraphQL, jadi, jika Anda perlu mengambil kapal Rebel:
yang akan menghasilkan:
Anda juga dapat mengambil kapal Nth:
yang menghasilkan
Atau ambil kapal ke-N setelah yang spesifik, menggunakan nilai cursor-nya:
yang akan mengambil:
Kita juga dapat menggunakan Mutasi yang kompatibel dengan mutasi Relay. Mari kita buat sebuah Kapal:
Itu membutuhkan Variabel Query berikut:
Dan akan mengembalikan Global Id dan nama seperti yang ditentukan dalam mutasi: