Masalah Umum
Masalah UmumMereplikasi pembaruan path endpoint GraphQL via hooks

Mereplikasi pembaruan path endpoint GraphQL via hooks

Jika Anda mengalami masalah tertentu, seperti:

...dan Anda telah melakukan salah satu hal berikut di Gato GraphQL:

  • Memperbarui path dari GraphQL Single Endpoint
  • Memperbarui base slug dari Custom Endpoints atau Persisted Queries
  • Menonaktifkan endpoint mana pun (dengan menonaktifkan modul yang sesuai),

...maka Anda harus menerapkan modifikasi yang sama melalui sebuah hook, untuk menghindari konflik.

Hooks

Jika Anda mengubah path dari endpoint publik mana pun melalui Pengaturan plugin, Anda harus menerapkan modifikasi yang sama melalui hook:

  • gatographql:before_app_is_loaded:graphql_endpoint_paths

Demikian pula, jika Anda menonaktifkan modul endpoint publik mana pun, Anda harus menghapus path yang sesuai melalui hook.

Contoh

Jika Anda telah mengubah path Single Endpoint dari graphql menjadi api/graphql di Pengaturan plugin:

add_filter(
  'gatographql:before_app_is_loaded:graphql_endpoint_paths',
  function(array $endpointPaths): array {
    // Replace the default 'graphql' path with your custom path
    return array_map(
      fn ($path) => $path === 'graphql' ? 'api/graphql' : $path,
      $endpointPaths
    );
  }
);

Jika Anda telah menonaktifkan modul Single Endpoint:

add_filter(
  'gatographql:before_app_is_loaded:graphql_endpoint_paths',
  function(array $endpointPaths): array {
    // Remove the 'graphql' path since the module is disabled
    return array_filter(
      $endpointPaths,
      fn ($path) => $path !== 'graphql',
    );
  }
);