
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ểm | Nhược điểm |
|---|---|
✅ Truy cập qua GET hoặc POST | POST |
| ✅ Có thể được lưu vào cache trên máy chủ hoặc CDN | |
| ✅ Bảo mật: chỉ dữ liệu dự kiến mới được hiển thị | |
| ✅ 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 | |
| ✅ Cho phép lặp lại nhanh chóng trong dự án | |
| ✅ Có thể tự lập tài liệu | |
| ✅ Cho phép client tạo và xuất bản query |
