GraphQL — это язык запросов, разработанный Facebook для эффективного обмена данными между клиентом и сервером. В отличие от REST, который использует множество эндпоинтов для доступа к данным, GraphQL использует единый эндпоинт, позволяя клиентам запрашивать только те данные, которые им действительно нужны.
Освойте Python на курсе от Skypro. Вас ждут 400 часов обучения и практики (достаточно десяти часов в неделю), подготовка проектов для портфолио, индивидуальная проверка домашних заданий и помощь опытных наставников. Получится, даже если у вас нет опыта в IT.
Основы GraphQL
Существует три основные операции в GraphQL:
- Query (запрос) — получение данных с сервера.
- Mutation (мутация) — создание, обновление или удаление данных на сервере.
- Subscription (подписка) — получение уведомлений от сервера при изменении данных.
🔍 Пример запроса (query) в GraphQL:
query {
user(id: 1) {
name
age
}
}
В этом примере мы запрашиваем данные пользователя с id=1
, но интересуют нас только его name
и age
.
Использование GraphQL в Python
Для работы с GraphQL в Python существует несколько библиотек, например, graphene
, ariadne
и strawberry
. В данной статье мы рассмотрим graphene
.
Установка и настройка
Для начала установим библиотеку graphene
с помощью pip
:
pip install graphene
Теперь создадим простую схему GraphQL с использованием graphene
. Создайте файл schema.py
:
import graphene class Query(graphene.ObjectType): hello = graphene.String() def resolve_hello(self, info): return "Hello, world!" schema = graphene.Schema(query=Query)
Здесь мы создали схему с одним полем hello
, которое возвращает строку «Hello, world!».
Запросы и выполнение
Теперь, когда у нас есть схема, мы можем выполнять запросы. Создайте файл app.py
:
from schema import schema query = """ query { hello } """ result = schema.execute(query) print(result.data)
Запустите app.py
и вы увидите следующий вывод:
{'hello': 'Hello, world!'}
Изучайте Python на онлайн-курсе от Skypro «Python-разработчик». Программа рассчитана на новичков без опыта программирования и технического образования. Курс проходит в формате записанных коротких видеолекций. Будет много проверочных заданий и мастер-классов. В конце каждой недели — живая встреча с экспертами в разработке для ответов на вопросы и разбора домашек.
Заключение
В этой статье мы кратко рассмотрели, что такое GraphQL и как начать работать с ним в Python с использованием библиотеки graphene
. GraphQL — мощный инструмент для работы с данными, который может существенно упростить вашу разработку. В дополнение к этому, рекомендуем ознакомиться с официальной документацией GraphQL и graphene
, а также посетить хорошую онлайн-школу, где вы можете пройти курс по Python-разработке.
Добавить комментарий