Custom Endpoints
Custom EndpointsCustom Endpoints

Custom Endpoints

Included in the “Power Extensions” bundle

Buat skema kustom, dengan aturan akses kustom untuk pengguna yang berbeda, masing-masing tersedia di bawah endpoint-nya sendiri.

Deskripsi

Server GraphQL biasanya mengekspos satu endpoint untuk mengambil dan mengirim data.

Selain mendukung endpoint tunggal, Gato GraphQL juga memungkinkan pembuatan custom endpoints, menyediakan konfigurasi skema yang berbeda untuk memenuhi kebutuhan dari berbagai target, seperti:

  • Klien atau pengguna tertentu
  • Sekelompok pengguna dengan akses lebih banyak ke fitur (seperti pengguna PRO)
  • Salah satu dari beberapa aplikasi, seperti aplikasi mobile atau website
  • API pihak ketiga
  • Lainnya

Custom endpoint adalah sebuah Custom Post Type, dan permalink-nya adalah endpoint tersebut. Sebuah endpoint dengan judul "My endpoint" dan slug my-endpoint akan dapat diakses di /graphql/my-endpoint/.

Editor custom endpoint

Klien

Setiap custom endpoint memiliki kumpulan kliennya sendiri untuk berinteraksi:

âś… Sebuah klien GraphiQL, tersedia di endpoint + ?view=graphiql (mis: /graphql/my-endpoint/?view=graphiql).

Modul GraphiQL for Custom Endpoints harus diaktifkan.

Klien GraphiQL dari custom endpoint

âś… Sebuah klien Interactive schema, tersedia di endpoint + ?view=schema (mis: /graphql/my-endpoint/?view=schema).

Modul Interactive Schema for Custom Endpoints harus diaktifkan.

Interactive schema dari custom endpoint

Membuat Custom Endpoint

Mengklik tautan Custom Endpoints di menu akan menampilkan daftar semua custom endpoint yang telah dibuat:

Custom Endpoints di admin
Custom Endpoints di admin

Sebuah custom endpoint adalah custom post type (CPT). Untuk membuat custom endpoint baru, klik tombol "Add New GraphQL endpoint", yang akan membuka editor WordPress:

Membuat Custom Endpoint baru

Setelah custom endpoint siap, publikasikan, dan permalink-nya akan menjadi URL endpoint tersebut. Tautan ke endpoint (serta source dan klien) ditampilkan di panel sidebar "Custom Endpoint Overview":

Custom Endpoint Overview

Dengan menambahkan ?view=source ke permalink, konfigurasi endpoint akan ditampilkan (selama pengguna sudah login dan peran pengguna memiliki akses ke sana):

Source custom endpoint

Secara default, custom endpoint memiliki path /graphql/, dan nilai ini dapat dikonfigurasi melalui Settings:

Pengaturan custom endpoint
Pengaturan custom endpoint

Konfigurasi skema

Mendefinisikan elemen apa saja yang dikandung skema, dan akses apa yang akan dimiliki pengguna terhadapnya, ditentukan dalam konfigurasi skema.

Jadi kita harus membuat konfigurasi skema, kemudian memilihnya dari dropdown:

Memilih konfigurasi skema

Mengorganisasi Custom Endpoints berdasarkan Kategori

Di panel sidebar "Endpoint categories" kita dapat menambahkan kategori untuk membantu mengelola Custom Endpoint:

Kategori endpoint saat mengedit Custom Endpoint

Misalnya, kita dapat membuat kategori untuk mengelola endpoint berdasarkan klien, aplikasi, atau informasi lain yang diperlukan:

Daftar kategori endpoint

Pada daftar Custom Endpoints, kita dapat melihat kategori-kategorinya dan, dengan mengklik tautan kategori mana pun, atau menggunakan filter di bagian atas, hanya entri untuk kategori tersebut yang akan ditampilkan:

Daftar Custom Endpoints beserta kategorinya

Memfilter Custom Endpoints berdasarkan kategori

Endpoint privat

Dengan menetapkan status Custom Endpoint sebagai private, endpoint hanya dapat diakses oleh pengguna admin. Ini mencegah data kita dibagikan secara tidak sengaja kepada pengguna yang seharusnya tidak memiliki akses ke data tersebut.

Misalnya, kita dapat membuat Custom Endpoints privat yang membantu mengelola aplikasi, seperti mengambil data untuk membuat laporan dengan metrik kita.

Custom Endpoint privat

Endpoint yang dilindungi kata sandi

Jika kita membuat Custom Endpoint untuk klien tertentu, kita kini dapat menetapkan kata sandi untuk endpoint tersebut, guna memberikan lapisan keamanan tambahan sehingga hanya klien tersebut yang dapat mengakses endpoint.

Custom Endpoint yang dilindungi kata sandi

Saat pertama kali mengakses endpoint yang dilindungi kata sandi (baik mengakses endpoint secara langsung, maupun klien GraphiQL atau Interactive Schema-nya), kita akan menemui layar yang meminta kata sandi:

Custom Endpoint yang dilindungi kata sandi: Akses pertama

Setelah kata sandi diberikan dan divalidasi, barulah pengguna dapat mengakses endpoint atau klien yang dituju:

Custom Endpoint yang dilindungi kata sandi: Setelah otorisasi