Vấn đề thường gặp
Vấn đề thường gặpSao chép cập nhật đường dẫn endpoint GraphQL qua hooks

Sao chép cập nhật đường dẫn endpoint GraphQL qua hooks

Nếu bạn gặp phải một số vấn đề, chẳng hạn như:

...và bạn đã thực hiện một trong các thao tác sau trong Gato GraphQL:

  • Cập nhật đường dẫn của GraphQL Single Endpoint
  • Cập nhật slug cơ sở của Custom Endpoints hoặc Persisted Queries
  • Vô hiệu hóa bất kỳ endpoint nào (bằng cách vô hiệu hóa module tương ứng),

...thì bạn phải áp dụng cùng một sửa đổi qua hook, để tránh xung đột.

Hooks

Nếu bạn sửa đổi đường dẫn của bất kỳ endpoint công khai nào qua phần Cài đặt của plugin, bạn phải áp dụng cùng một sửa đổi qua hook:

  • gatographql:before_app_is_loaded:graphql_endpoint_paths

Tương tự, nếu bạn vô hiệu hóa bất kỳ Module endpoint công khai nào, bạn phải xóa đường dẫn tương ứng qua hook.

Ví dụ

Nếu bạn đã thay đổi đường dẫn Single Endpoint từ graphql thành api/graphql trong phần Cài đặt của 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
    );
  }
);

Nếu bạn đã vô hiệu hóa module 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',
    );
  }
);