Перейти к содержанию

Термины

Запрос

Запрос - в запросе мы указываем то, что мы хотим получить от сервера.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
query {
  posts(id: 1) {
    id
    title
    author {
      firstname
      lastname
    }
  }
}

Тип

Тип - типы данных. Например, перед отправкой запроса на сервер, серверу нужно объяснить, что такое post.

ID! - тип данных в GraphQL.

Author! - составные (пользовательские) типы данных; берутся от того, кто реализует сервер. Типы в GraphQL реализуются на стороне сервера.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
type Post {
  id: ID!
  title: String!
  content: String!
  author: Author!
  status: Status!
  comments: [Comment]!
}
type Author {
  id: ID!
  firstname: String!
  lastname: String!
}
enum Status {
  DRAFT
  PUBLISHED
  ARCHIVED
}
type Comment {
  id: ID!
  title: String!
  body: String!
}

Изменение (Mutation)

Изменение (Mutation) - похожи на запросы, но если запрос получает данные, то изменения изменяют данные.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
mutation {
  createPost(
    input: {
      title: "Заголовок"
      content: "..."
      status: DRAFT
      author: {
        firstname: "John"
        lastname: "Smith"
        status: DRAFT
      }
    }
  )
}

Комментарии