Persisted Queries
Persisted QueriesPengeditan Persisted Query Tingkat Rendah

Pengeditan Persisted Query Tingkat Rendah

Included in the “Power Extensions” bundle

Membuat direktif yang biasanya tersembunyi (yang menyuntikkan fungsionalitas ke server GraphQL) terlihat saat mengedit persisted query.

Deskripsi

Dalam GraphQL, direktif adalah fungsi yang memungkinkan modifikasi hasil dari sebuah field. Misalnya, direktif @strUpperCase akan mengubah nilai field menjadi format huruf besar.

Ada 2 jenis direktif: yang diterapkan pada skema dan selalu dieksekusi, pada setiap query; dan yang diterapkan pada query, oleh pengguna atau aplikasi di sisi klien.

Dalam Gato GraphQL, banyak fungsionalitas yang terlibat saat menyelesaikan query dieksekusi melalui direktif yang diterapkan pada skema.

Misalnya, Cache Control bekerja dengan menerapkan direktif @cacheControl pada skema. Konfigurasi ini secara default tersembunyi, dan dilakukan oleh plugin melalui antarmuka pengguna:

Mendefinisikan kebijakan cache control

Demikian pula, direktif-direktif ini menyediakan Kontrol Akses untuk field (dan direktif serupa menyediakan Kontrol Akses untuk direktif):

  • @disableAccess
  • @validateIsUserLoggedIn
  • @validateIsUserNotLoggedIn
  • @validateDoesLoggedInUserHaveAnyRole.
  • @validateDoesLoggedInUserHaveAnyCapability
  • @validateDoesVisitorComeFromAnyAllowedIP
  • @validateDoesVisitorNotComeFromAnyDeniedIP

Ekstensi Low-Level Persisted Query Editing ini membuat semua direktif yang diterapkan pada skema tersedia di editor GraphiQL saat mengedit persisted queries, memungkinkan Anda untuk menghindari antarmuka pengguna dan menambahkan direktif bertipe skema langsung dalam persisted query.

Direktif bertipe skema tersedia di editor Persisted queries

Sebagai contoh, mendefinisikan Cache Control kemudian dapat dilakukan langsung dalam persisted query, dengan menetapkan direktif @cacheControl dengan argumen maxAge pada field; atau Kontrol Akses dapat didefinisikan langsung, dengan menambahkan direktif @validate... yang sesuai langsung pada field:

Direktif bertipe skema