Điểm cuối tùy chỉnh
Điểm cuối tùy chỉnhEndpoint Tùy Chỉnh

Endpoint Tùy Chỉnh

Included in the “Power Extensions” bundle

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/.

Trình soạn thảo endpoint tùy chỉnh

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.

Client GraphiQL của endpoint tùy chỉnh

✅ 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.

Interactive schema của endpoint tùy chỉnh

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ị:

Endpoint Tùy Chỉnh trong trang quản trị
Endpoint Tùy Chỉnh trong trang quản trị

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:

Tạo Endpoint Tùy Chỉnh mới

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":

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):

Nguồn endpoint tùy chỉnh

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ài đặt endpoint tùy chỉnh
Cài đặt endpoint tùy chỉnh

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:

Chọn cấu hình schema

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:

Danh mục endpoint khi chỉnh sửa 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:

Danh sách các danh mục endpoint

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 đó:

Danh sách Endpoint Tùy Chỉnh với các danh mục của chúng

Lọc Endpoint Tùy Chỉnh theo 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 Tùy Chỉnh riêng tư

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.

Endpoint Tùy Chỉnh được bảo vệ bằng mật khẩu

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:

Endpoint Tùy Chỉnh được bảo vệ bằng mật khẩu: Lần truy cập đầu tiên

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:

Endpoint Tùy Chỉnh được bảo vệ bằng mật khẩu: Sau khi xác thực