Logo

Funkcja:

Zagnieżdżone Mutacje

Zagnieżdżone Mutacje

Mutacje są eksponowane wyłącznie na typie głównym w GraphQL. W konsekwencji typ główny staje się nadmiernie rozbudowany, zawierając pola, które nie mają ze sobą nic wspólnego poza tym, że są mutacjami (co jest kwestią techniczną, a nie decyzją projektową dotyczącą interfejsu).

Zagnieżdżone mutacje sprawiają, że schemat jest bardziej logiczny i przejrzysty, umożliwiając wykonywanie mutacji na dowolnym typie, a nie tylko na typie głównym. Poprawiają również wydajność, pozwalając na modyfikowanie danych w wyniku innej mutacji, co pozwala uniknąć opóźnień wynikających z wykonywania wielu zapytań.

To zapytanie GraphQL demonstruje zagnieżdżoną mutację:

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

Zapisz się do naszego newslettera

Bądź na bieżąco ze wszystkimi aktualizacjami Gato GraphQL.