Logo

คุณสมบัติ:

Nested Mutations

Nested Mutations

ใน GraphQL การกลายพันธุ์จะถูกเปิดเผยเฉพาะใน root type เท่านั้น ผลที่ตามมาคือ root type จะขยายตัวอย่างมาก โดยมีฟิลด์ต่างๆ ที่ไม่มีความเกี่ยวข้องกันนอกจากเป็นการกลายพันธุ์ (ซึ่งเป็นเรื่องทางเทคนิค ไม่ใช่การตัดสินใจด้านการออกแบบอินเทอร์เฟซ)

Nested Mutations ทำให้ schema มีความสมเหตุสมผลและเรียกดูได้ง่ายขึ้น โดยเปิดให้ทำการกลายพันธุ์บน type ใดก็ได้ ไม่ใช่แค่ root type เท่านั้น นอกจากนี้ยังช่วยด้านประสิทธิภาพอีกด้วย เนื่องจากสามารถแก้ไขข้อมูลบนผลลัพธ์จากการกลายพันธุ์อื่นได้ จึงหลีกเลี่ยงความล่าช้าจากการรัน request หลายครั้ง

GraphQL query ต่อไปนี้แสดงให้เห็น nested mutation:

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
            }
          }
        }
      }
    }
  }
}

สมัครรับจดหมายข่าวของเรา

ติดตามการอัปเดตทั้งหมดของ Gato GraphQL