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.