Endpoint Tùy Chỉnh
Tạo các schema tùy chỉnh với quy tắc truy cập riêng cho từng người dùng, mỗi schema có sẵn tại endpoint của riêng nó.
Mô tả
Một máy chủ GraphQL thông thường chỉ cung cấp một endpoint duy nhất để lấy và gửi dữ liệu.
Ngoài việc hỗ trợ endpoint đơn, Gato GraphQL còn cho phép tạo các endpoint tùy chỉnh, cung cấp các cấu hình schema khác nhau để đáp ứng nhu cầu của các đối tượng khác nhau, chẳng hạn như:
- Một client hoặc người dùng cụ thể
- Một nhóm người dùng có quyền truy cập nhiều tính năng hơn (chẳng hạn người dùng PRO)
- Một trong nhiều ứng dụng, như ứng dụng di động hoặc trang web
- Các API của bên thứ ba
- Bất kỳ trường hợp nào khác
Endpoint tùy chỉnh là một Custom Post Type, và permalink của nó chính là endpoint. Một endpoint có tiêu đề "My endpoint" và slug my-endpoint sẽ có thể truy cập tại /graphql/my-endpoint/.

Clients
Mỗi endpoint tùy chỉnh có bộ clients riêng để tương tác với nó:
✅ Một client GraphiQL, có sẵn tại endpoint + ?view=graphiql (ví dụ: /graphql/my-endpoint/?view=graphiql).
Module GraphiQL for Custom Endpoints phải được kích hoạt.

✅ Một client Interactive schema, có sẵn tại endpoint + ?view=schema (ví dụ: /graphql/my-endpoint/?view=schema).
Module Interactive Schema for Custom Endpoints phải được kích hoạt.

Tạo Endpoint Tùy Chỉnh
Nhấp vào liên kết Endpoint Tùy Chỉnh trong menu, danh sách tất cả các endpoint tùy chỉnh đã tạo sẽ hiển thị:

Một endpoint tùy chỉnh là một custom post type (CPT). Để tạo endpoint tùy chỉnh mới, nhấp vào nút "Add New GraphQL endpoint", thao tác này sẽ mở trình soạn thảo WordPress:

Khi endpoint tùy chỉnh đã sẵn sàng, hãy xuất bản nó, và permalink của nó sẽ trở thành URL endpoint. Các liên kết đến endpoint (cũng như nguồn và clients) được hiển thị trên bảng điều khiển bên "Custom Endpoint Overview":

Thêm ?view=source vào permalink sẽ hiển thị cấu hình của endpoint (miễn là người dùng đã đăng nhập và vai trò của người dùng có quyền truy cập):

Theo mặc định, endpoint tùy chỉnh có đường dẫn /graphql/, và giá trị này có thể cấu hình qua phần Cài đặt:

Cấu hình schema
Việc xác định các thành phần mà schema chứa, và mức độ truy cập mà người dùng sẽ có, được định nghĩa trong cấu hình schema.
Vì vậy chúng ta cần tạo một cấu hình schema, sau đó chọn nó từ danh sách thả xuống:

Tổ chức Endpoint Tùy Chỉnh theo Danh mục
Trên bảng điều khiển bên "Endpoint categories" chúng ta có thể thêm các danh mục để giúp quản lý Endpoint Tùy Chỉnh:

Ví dụ, chúng ta có thể tạo các danh mục để quản lý endpoint theo client, ứng dụng, hoặc bất kỳ thông tin cần thiết nào khác:

Trong danh sách Endpoint Tùy Chỉnh, chúng ta có thể xem các danh mục của chúng, và nhấp vào bất kỳ liên kết danh mục nào, hoặc sử dụng bộ lọc ở phía trên, sẽ chỉ hiển thị tất cả các mục trong danh mục đó:


Endpoint riêng tư
Bằng cách đặt trạng thái của Endpoint Tùy Chỉnh là private, endpoint chỉ có thể được truy cập bởi người dùng quản trị. Điều này ngăn dữ liệu của chúng ta bị vô tình chia sẻ với những người dùng không được phép truy cập.
Ví dụ, chúng ta có thể tạo các Endpoint Tùy Chỉnh riêng tư để giúp quản lý ứng dụng, chẳng hạn như lấy dữ liệu để tạo báo cáo với các số liệu của chúng ta.

Endpoint được bảo vệ bằng mật khẩu
Nếu chúng ta tạo Endpoint Tùy Chỉnh cho một client cụ thể, chúng ta có thể gán mật khẩu cho nó, để cung cấp thêm một lớp bảo mật nhằm đảm bảo chỉ client đó mới truy cập được endpoint.

Khi truy cập lần đầu vào endpoint được bảo vệ bằng mật khẩu (dù truy cập trực tiếp vào endpoint, hay vào clients GraphiQL hoặc Interactive Schema của nó), chúng ta sẽ gặp một màn hình yêu cầu nhập mật khẩu:

Sau khi mật khẩu được cung cấp và xác thực, khi đó người dùng mới có thể truy cập endpoint hoặc client dự định:
