Trình tạo truy vấn GraphQL
Viết một thao tác GraphQL bằng tay nghĩa là phải giữ cho dấu ngoặc nhọn, tham số và thụt lề đúng quy cách. Công cụ này ghép tài liệu giúp bạn: chọn truy vấn, mutation hoặc subscription, đặt tên cho thao tác, xác định trường gốc, thêm tham số và liệt kê các trường bạn cần. Kết quả là một thao tác đã định dạng sẵn để dán thẳng vào Apollo, urql hoặc GraphiQL.
Cách tạo một thao tác GraphQL
-
1
Chọn loại thao tác
Chọn truy vấn, mutation hoặc subscription từ menu thả xuống. Điều này quyết định loại thao tác mà máy chủ thực thi.
-
2
Đặt tên cho thao tác
Đặt tên như GetUser để máy chủ ghi nhật ký và lưu bộ nhớ đệm. Tên là tùy chọn; công cụ vẫn hoạt động mà không cần tên.
-
3
Xác định trường gốc
Nhập trường bạn muốn gọi, ví dụ user, createPost hoặc orderUpdated.
-
4
Thêm tham số
Thêm cặp khóa-giá trị như id: "123" hoặc id: $id. Các dòng có khóa trống sẽ bị bỏ qua.
-
5
Liệt kê các trường và sao chép
Nhập mỗi trường trên một dòng, tạo truy vấn và sao chép tài liệu đã định dạng vào bộ nhớ tạm.
Làm việc với tài liệu GraphQL
Một tài liệu GraphQL là tập hợp một hoặc nhiều thao tác cùng các mảnh dữ liệu mà chúng tham chiếu. Mỗi thao tác chỉ định một trường gốc thuộc loại Query, Mutation hoặc Subscription, và máy chủ xử lý tập lựa chọn bạn yêu cầu. Công cụ viết văn bản thao tác giúp bạn, nhưng không biết schema của bạn, vì vậy hãy đối chiếu từng tên trường và tham số với API trước khi chạy thao tác.
Cấu trúc của thao tác
| Phần | Mục đích | Ví dụ |
|---|---|---|
| Loại thao tác | Truy vấn, mutation hoặc subscription | query, mutation, subscription |
| Tên thao tác | Dùng cho bộ nhớ đệm và nhật ký | GetUserById |
| Tham số | Giá trị truyền vào trường gốc | user(id: "123") |
| Tập lựa chọn | Các trường và lựa chọn lồng nhau | { user(id: "123") { name posts { title } } } |
| Biến | Dữ liệu đầu vào có kiểu khai báo cùng tên thao tác | query GetUser($id: ID!) { user(id: $id) { name } } |
Những lỗi phổ biến
- Biến bắt buộc phải kết thúc bằng
!. Nếu quên ký hiệu này ở các tham số được đánh dấuNonNulltrong schema, lỗi xác thực sẽ xuất hiện trước khi bộ phân giải (resolver) chạy. - Tham số dạng văn bản cần dấu ngoặc kép. Giá trị như
123là số; giá trị văn bản phải viết"123"với dấu ngoặc kép trong dòng tham số. - Kiểu union và interface cần các mảnh nội tuyến
... on TypeNameđể đọc các trường đặc thù của từng kiểu. - Bí danh (alias) là bắt buộc khi bạn yêu cầu cùng một trường hai lần với các tham số khác nhau, ví dụ
today: stats(period: DAY)vàweek: stats(period: WEEK). - Kết nối (đặc tả Relay) hiển thị
edges { node { ... } }vàpageInfo { endCursor hasNextPage }; bỏ qua bất kỳ phần nào cũng làm hỏng việc phân trang.
Mẹo nhỏ
- Giữ thao tác nhỏ gọn và đặt tên để Apollo Client lưu bộ nhớ đệm từng thao tác riêng.
- Truyền các giá trị thay đổi dưới dạng biến thay vì giá trị trực tiếp để máy chủ phân tích tài liệu một lần rồi tái sử dụng; khai báo biến bên cạnh tên thao tác, ví dụ
query GetUser($id: ID!). - Nếu một trường cần nhiều tham số, hãy viết chúng trong một dòng tham số duy nhất, cách nhau bằng dấu phẩy, ví dụ
filter: { status: ACTIVE }làm giá trị. - Công cụ xuất ra đúng văn bản bạn cấu hình. Nếu một thao tác thất bại, trước tiên hãy đối chiếu tên trường với schema hiện tại.
Câu hỏi thường gặp
Không. Công cụ chỉ định dạng văn bản bạn nhập; không có điểm cuối nào để gọi và không cần schema. Điền các phần của thao tác và công cụ sẽ ghép tài liệu giúp bạn.
Có. Dùng menu thả xuống thao tác để chuyển giữa truy vấn, mutation và subscription. Mọi thứ khác hoạt động tương tự: tên, trường gốc, tham số và các trường.
Thêm dòng trong phần tham số. Khóa là tên tham số và giá trị là nội dung bạn truyền, ví dụ id: “123” hoặc id: $id. Các dòng có khóa trống bị bỏ qua. Nếu bạn nhập biến như $id, hãy tự khai báo biến đó bên cạnh tên thao tác, ví dụ query GetUser($id: ID!).
Công cụ xuất ra đúng văn bản bạn đã nhập. Lỗi này thường có nghĩa là tên trường hoặc tham số không khớp với schema của máy chủ: hãy đối chiếu trường gốc và từng tên trường với API, sau đó sửa lại cách viết.
Công cụ liên quan
Bảng tham chiếu ASCII
Bảng ASCII đầy đủ từ 0 đến 127 với giá trị thập phân, thập lục phân, bát phân, nhị phân và ký hiệu tham chiếu ký tự số HTML, gồm NUL, LF và DEL.
Tham chiếu ký tự HTML
Danh sách có thể tìm kiếm các thực thể HTML, mã tên và mã số tương ứng của chúng, cùng chức năng sao chép chỉ với một cú nhấp cho các ký tự đặc biệt và biểu tượng.
Bảng tham khảo phím tắt
Tìm phím tắt mặc định theo tài liệu của VS Code, Chrome và Bash dùng GNU Readline trên macOS, Windows và Linux.
Trình định dạng HTML
Định dạng HTML cục bộ trong trình duyệt với thụt lề hai hoặc bốn khoảng trắng. HTML không được tải lên hoặc xác thực.
Bảng tra cứu nhanh Markdown
Tài liệu Markdown thực dụng với bản xem trước thực tế và ví dụ có thể sao chép cho tiêu đề, danh sách, bảng, mã, liên kết, hình ảnh và cú pháp GFM.
Trình xem hex của tệp nhị phân
Chọn một tệp và kiểm tra phần dữ liệu giới hạn từ bất kỳ offset byte hợp lệ nào dưới dạng hex dump cục bộ với cột offset, hex và ASCII.
Công cụ này có phiên bản bằng các ngôn ngữ khác
- Constructeur de requêtes GraphQL [FR]
- أداة إنشاء استعلامات GraphQL [AR]
- GraphQL-Abfrage-Builder [DE]
- GraphQL-frågebyggare [SV]
- เครื่องสร้าง GraphQL Query [TH]
- Constructor de Consultas GraphQL [ES]
- GraphQL 쿼리 빌더 [KO]
- Pembuat Kueri GraphQL [ID]
- GraphQLクエリビルダー [JA]
- GraphQL-querybouwer [NL]
- Kreator zapytań GraphQL [PL]
- Construtor de Consultas GraphQL [PT]
- GraphQL Query Builder [EN]
- Costruttore di Query GraphQL [IT]
- Построитель запросов GraphQL [RU]
- GraphQL Sorgu Oluşturucu [TR]
- GraphQL查询构建器 [ZH]