
Tính năng:
Mutations lồng nhau
Mutations lồng nhau
Mutations chỉ được hiển thị trên kiểu gốc trong GraphQL. Hệ quả là, kiểu gốc trở nên cồng kềnh quá mức, chứa các trường không có điểm chung với nhau ngoài việc là mutations (đây là vấn đề kỹ thuật, không phải quyết định thiết kế giao diện).
Mutations lồng nhau giúp schema trở nên hợp lý và dễ duyệt hơn, bằng cách cho phép thực thi mutations trên bất kỳ kiểu nào, không chỉ trên kiểu gốc. Chúng cũng cải thiện hiệu suất, cho phép bạn chỉnh sửa dữ liệu trên kết quả của một mutation khác, từ đó tránh được độ trễ khi thực thi nhiều yêu cầu riêng biệt.
GraphQL query này minh họa một mutation lồng nhau:
mutation {
createPost(input: {
title: "First title"
}) {
status
postID
post {
update(input: {
title: "Second title",
contentAs: { html: "Some content" }
}) {
status
post {
title
content
addComment(input: {
commentAs: { html: "My first comment" }
}) {
status
commentID
comment {
content
date
}
}
}
}
}
}
}