Logo

Tính năng:

Persisted Queries

Persisted Queries

Trong một API REST, chúng ta tạo nhiều endpoint, mỗi endpoint trả về một tập dữ liệu được định nghĩa trước. Trong một API GraphQL, ngược lại, chúng ta cung cấp bất kỳ query nào đến một endpoint duy nhất, endpoint này trả về chính xác dữ liệu được yêu cầu.

Persisted queries là các queries GraphQL thông thường, tuy nhiên chúng được lưu trữ trên máy chủ và truy cập qua URL riêng của mình, từ đó mô phỏng một endpoint REST. Chúng kết hợp các ưu điểm từ cả hai API này trong khi tránh được những nhược điểm của chúng:

Ưu điểmNhược điểm
✅ Truy cập qua GET hoặc POST❌ Chỉ truy cập được qua POST
✅ Có thể được lưu vào cache trên máy chủ hoặc CDN❌ Cần cung cấp một lớp bổ sung phía client chỉ để lưu cache
✅ Bảo mật: chỉ dữ liệu dự kiến mới được hiển thị❌ Dữ liệu bị lộ cho bất kỳ ai, kể cả các tác nhân độc hại
✅ Không lấy thừa hoặc thiếu dữ liệu, tất cả dữ liệu được truy xuất trong một yêu cầu duy nhất❌ Có thể chậm vì ứng dụng có thể cần nhiều yêu cầu để lấy tất cả dữ liệu
✅ Cho phép lặp lại nhanh chóng trong dự án❌ Tốn nhiều công sức để tạo tất cả các endpoint
✅ Có thể tự lập tài liệu❌ Việc tạo tài liệu là bắt buộc
✅ Cho phép client tạo và xuất bản query❌ Việc xuất bản endpoint được thực hiện qua code
Persisted query trong trình soạn thảo
Persisted query trong trình soạn thảo

Đăng ký nhận bản tin của chúng tôi

Cập nhật tất cả những điều mới từ Gato GraphQL.