Persisted Queries
Persisted QueriesChỉnh Sửa Persisted Query Cấp Thấp

Chỉnh Sửa Persisted Query Cấp Thấp

Included in the “Power Extensions” bundle

Hiển thị các chỉ thị thường bị ẩn (vốn tiêm một số chức năng vào máy chủ GraphQL) khi chỉnh sửa một persisted query.

Mô tả

Trong GraphQL, chỉ thị (directive) là các hàm cho phép sửa đổi kết quả từ một trường. Ví dụ, chỉ thị @strUpperCase sẽ chuyển đổi giá trị của trường sang định dạng chữ hoa.

Có 2 loại chỉ thị: những chỉ thị được áp dụng cho schema và luôn được thực thi, trên mọi query; và những chỉ thị được áp dụng cho query, bởi người dùng hoặc ứng dụng ở phía client.

Trong Gato GraphQL, nhiều chức năng liên quan khi giải quyết một query được thực thi thông qua các chỉ thị áp dụng cho schema.

Ví dụ, Cache Control hoạt động bằng cách áp dụng chỉ thị @cacheControl lên schema. Cấu hình này mặc định bị ẩn và được plugin thực hiện thông qua giao diện người dùng:

Định nghĩa chính sách cache control

Tương tự, các chỉ thị sau đây cung cấp Kiểm Soát Truy Cập cho các trường (và các chỉ thị tương tự cung cấp Kiểm Soát Truy Cập cho các chỉ thị):

  • @disableAccess
  • @validateIsUserLoggedIn
  • @validateIsUserNotLoggedIn
  • @validateDoesLoggedInUserHaveAnyRole.
  • @validateDoesLoggedInUserHaveAnyCapability
  • @validateDoesVisitorComeFromAnyAllowedIP
  • @validateDoesVisitorNotComeFromAnyDeniedIP

Tiện ích mở rộng Low-Level Persisted Query Editing này làm cho tất cả các chỉ thị được áp dụng cho schema đều có sẵn trong trình soạn thảo GraphiQL khi chỉnh sửa persisted queries, cho phép bạn bỏ qua giao diện người dùng và thêm trực tiếp các chỉ thị kiểu schema vào trong persisted query.

Chỉ thị kiểu schema có sẵn trong trình soạn thảo Persisted queries

Ví dụ, việc định nghĩa Cache Control có thể được thực hiện trực tiếp trong persisted query, bằng cách đặt chỉ thị @cacheControl với tham số maxAge trên trường; hoặc Kiểm Soát Truy Cập có thể được định nghĩa trực tiếp, bằng cách thêm chỉ thị @validate... tương ứng trực tiếp lên trường:

Chỉ thị kiểu schema