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

Как работает GraphQL

GraphQL сервер принимает запросы от клиента, взаимодействует с БД и отправляет ответ клиенту. GraphQL запрос это http-запрос, но в отличие от REST у GraphQL всего 1 маршрут, например:

1
HTTP POST https://mysite.com/graphql
1
2
3
4
// отправляем данные через get-запрос
fetch(
  'https://mysite.com/graphql?query={posts(id: 1){...}}'
)
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
// отправляем данные через post-запрос
fetch('https://mysite.com/graphql', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    query: `
            {
                posts(id: 1) {
                    id
                    title
                    author {
                        firstname
                        lastname
                    }
                }
            }
            `,
  }),
})

GraphQL не подменяет сервер: GraphQL имеет некий слой между клиентов и сервером. GraphQL может быть не очень удобен с точки зрения реализации, но с точки зрения клиента он очень удобен.

Комментарии