Работал ли с GraphQL
Python
Senior
СБЕР Роботы
Работал ли с GraphQL
Ответы
Да, работал с GraphQL, в основном с библиотеками `graphene` (для сервера) и `requests`/`aiohttp` (для клиента).
**Пример сервера на Flask + Graphene:**
```
from flask import Flask
from graphene import ObjectType, String, Schema
class Query(ObjectType):
hello = String(name=String(default_value="World"))
def resolve_hello(root, info, name):
return f"Hello, {name}!"
schema = Schema(query=Query)
app = Flask(__name__)
@app.route("/graphql", methods=["POST"])
def handle_graphql():
data = request.get_json()
result = schema.execute(data["query"])
return jsonify(result.data)
```
**Пример клиентского запроса:**
```
import requests
query = """
query {
hello(name: "Alice")
}
"""
response = requests.post("http://localhost:5000/graphql", json={"query": query})
print(response.json()) # {'data': {'hello': 'Hello, Alice!'}}
```
Основные преимущества: гибкость запросов, типизация, избегание over/under-fetching. Сложности: кэширование, N+1 проблемы (решается через `dataloaders`).