_CORE
AI & Agentic Systems Core Information Systems Cloud & Platform Engineering Data Platform & Integration Security & Compliance QA, Testing & Observability IoT, Automation & Robotics Mobile & Digital Banking & Finance Insurance Public Administration Defense & Security Healthcare Energy & Utilities Telco & Media Manufacturing Logistics & E-commerce Retail & Loyalty
References Technologies Blog Know-how Tools
About Collaboration Careers
CS EN
Let's talk

GraphQL Server implementace

24. 11. 2025 1 min read intermediate

GraphQL dává klientovi kontrolu nad tím, jaká data chce. Jeden endpoint, žádné over-fetching.

Schema a resolvers — Python

import strawberry from strawberry.fastapi import GraphQLRouter @strawberry.type class User: id: int name: str email: str @strawberry.type class Query: @strawberry.field async def users(self) -> list[User]: return await db.users.find_all() @strawberry.field async def user(self, id: int) -> User | None: return await db.users.find(id) schema = strawberry.Schema(Query) app.include_router(GraphQLRouter(schema), prefix=”/graphql”)

DataLoader — řešení N+1

from strawberry.dataloader import DataLoader async def load_users(ids: list[int]) -> list[User]: users = await db.users.find_many(ids) return [next(u for u in users if u.id == id) for id in ids] user_loader = DataLoader(load_fn=load_users)

Key Takeaway

GraphQL pro complex frontend requirements. DataLoader řeší N+1 problem. REST pro jednoduché CRUD.

graphqlapipythonjavascript
Share:

CORE SYSTEMS tým

Stavíme core systémy a AI agenty, které drží provoz. 15 let zkušeností s enterprise IT.