GraphQL сервер принимает запросы от клиента, взаимодействует с БД и отправляет ответ клиенту. GraphQL запрос это http-запрос, но в отличие от REST у GraphQL всего 1 маршрут, например:
1
HTTP POST https://mysite.com/graphql
1234
// отправляем данные через get-запросfetch('https://mysite.com/graphql?query={posts(id: 1){...}}')
1 2 3 4 5 6 7 8 9101112131415161718192021
// отправляем данные через 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 может быть не очень удобен с точки зрения реализации, но с точки зрения клиента он очень удобен.