GraphQL là một ngôn ngữ truy vấn cho API và một runtime trả lời các truy vấn đó dựa trên một schema có kiểu (typed). Client gửi một request mô tả chính xác những field nó cần, và server trả về đúng hình dạng đó — không thừa, không thiếu.
GraphQL là một ngôn ngữ truy vấn cho API và một runtime trả lời các truy vấn đó dựa trên một schema có kiểu (typed). Client gửi một request mô tả chính xác những field nó cần, và server trả về đúng hình dạng đó — không thừa, không thiếu.
/users, /users/1/posts); GraphQL chỉ có một endpoint /graphql và bạn chọn dữ liệu bằng phần thân query.# Một request lấy user VÀ tiêu đề các post của họ — không cần gọi vòng thứ hai
query {
user(id: "1") { # chọn user theo id
name # chỉ những field ta liệt kê mới trả về
posts { # lồng nhau: đi theo quan hệ trong cùng một query
title
}
}
}
Response phản chiếu đúng query: { "data": { "user": { "name": "...", "posts": [{ "title": "..." }] } } }.
Người phỏng vấn hỏi câu này để xem bạn có hiểu đánh đổi cốt lõi hay không: GraphQL loại bỏ over/under-fetching và cho client sự linh hoạt, đổi lại là độ phức tạp tăng ở phía server (resolver, caching, kiểm soát chi phí query). Hiểu vì sao nó tồn tại — không chỉ cú pháp — cho thấy bạn biết chọn đúng công cụ.
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ộ