Đây là ba loại operation, mỗi loại ánh xạ tới một root type trong schema:
Đây là ba loại operation, mỗi loại ánh xạ tới một root type trong schema:
query GetPost { # đọc
post(id: "1") { title }
}
mutation AddComment { # ghi; trả về object vừa tạo để client cập nhật cache
addComment(postId: "1", text: "Nice!") {
id
text
}
}
subscription OnComment { # real-time: kích hoạt mỗi khi có comment mới
commentAdded(postId: "1") {
id
text
}
}
Mutation nhận argument (thường là một object input) và nên trả về dữ liệu bị ảnh hưởng để client làm mới mà không cần request thứ hai. Quy tắc tuần tự rất quan trọng: hai mutation trong một document — deposit rồi withdraw — luôn chạy đúng thứ tự đó, trong khi hai field của query có thể resolve đồng thời.
Người phỏng vấn kiểm tra xem bạn có biết query chạy song song và không side-effect còn mutation chạy tuần tự hay không, và rằng subscription cần một transport có trạng thái (WebSocket/SSE). Trả về dữ liệu đã cập nhật từ mutation là chi tiết thực chiến phân biệt người đã từng làm GraphQL với người chỉ mới đọc về nó.
Thư viện câu hỏi phỏng vấn IT với đáp án chi tiết — từ Junior đến Senior.
Ủng hộ