Skip to main content
Version: 2.0.x

Why Seaography

What is GraphQL​

GraphQL, originally open-sourced by Facebook, is both a query language and a runtime for APIs. Instead of exposing multiple endpoints like REST, GraphQL provides a single endpoint where clients can specify the exact fields and relationships they want. This makes responses predictable and shaped exactly like the request.

Benefits of GraphQL​

Precise data fetching​

Clients avoid over-fetching or under-fetching by requesting only the fields they need.

Strongly typed schema​

The schema acts as a contract between client and server, improving validation, documentation, and developer experience.

Unified data access​

GraphQL can aggregate data from multiple sources into one query, reducing round-trips. All API requests go through a single POST endpoint.

Async-GraphQL​

async-graphql is a Rust library that implements the GraphQL specification with a asynchronous execution model, strong type safety, and dynamic schema definition. It offers:

Concurrent field resolution​

If a query requests multiple independent fields, async‑graphql can fetch them in parallel.

Complexity & depth limits​

Built‑in guards to prevent denial‑of‑service via overly complex queries.

Strongly-typed schema​

Automatic validation ensures schema and resolvers remain consistent.

Seaography​

Seaography is built on top of async‑graphql, offering a set of derive macros, seamless integration with SeaORM, and advanced query capabilities out of the box.

Derive macros & faster builds​

Seaography provides a set of derive macros for dynamic schema that mirror those used for static schemas in async‑graphql. This makes defining custom GraphQL endpoints easy but also addresses the problem of slow compilation as schema complexity grows.

Seamless SeaORM integration​

Seaography integrates directly with SeaORM, adding minimal overhead while offering advanced relational query capabilities.

Full‑stack solution​

Seaography covers all the needs of building complex applications - from data access, backend API, access control to frontend integration (SeaORM Pro).