Есть ли методы запросов в GraphQL?
DOM и браузер
В GraphQL нет привычных HTTP-методов запросов (GET/POST/...) как в REST — вместо них есть три типа операций: query (чтение), mutation (изменение), subscription (подписка).
Операции GraphQL
query — чтение
Получение данных (аналог GET в REST):
query {
user(id: 1) { name email }
}mutation — изменение
Создание, обновление, удаление (аналог POST/PUT/PATCH/DELETE):
mutation {
createUser(name: "Ann") { id }
}subscription — подписка
Получение обновлений в реальном времени (через WebSocket):
subscription {
messageAdded { text }
}Транспорт — обычно один HTTP-метод
GraphQL работает поверх HTTP, но обычно использует один эндпоинт и POST для всех операций (query и mutation в теле запроса):
POST /graphql
{ "query": "{ user(id: 1) { name } }" }Иногда query шлют через GET (для кеширования), но стандартно — POST на один URL.
GraphQL против REST
- REST — разные HTTP-методы и URL для действий.
- GraphQL — один эндпоинт, тип операции (query/mutation/subscription) в теле запроса.
Коротко для собеседования
В GraphQL нет HTTP-методов запросов как в REST — есть три операции: query (чтение), mutation (изменение), subscription (реальное время). Транспортно обычно всё идёт POST на один эндпоинт /graphql. В отличие от REST с разными методами и URL, GraphQL использует один эндпоинт и тип операции в запросе.