Logo

기능:

중첩 뮤테이션

중첩 뮤테이션

GraphQL에서 뮤테이션은 루트 타입에만 노출됩니다. 그 결과, 루트 타입은 지나치게 비대해지며, 뮤테이션이라는 기술적인 공통점 외에는 서로 아무런 관련이 없는 필드들이 가득 차게 됩니다(이는 인터페이스 설계 결정이 아닌 기술적인 문제입니다).

중첩 뮤테이션은 루트 타입뿐만 아니라 모든 타입에서 뮤테이션을 수행할 수 있도록 함으로써, 스키마를 더 논리적이고 탐색하기 쉽게 만들어 줍니다. 또한 다른 뮤테이션의 결과에 대해 데이터를 수정할 수 있어 여러 요청을 실행하는 데 따른 지연 시간을 줄일 수 있으므로, 성능 향상에도 도움이 됩니다.

다음 GraphQL 쿼리는 중첩 뮤테이션을 보여 줍니다:

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의 모든 업데이트를 놓치지 마세요.