Files
speckle-server/.agent/skills/api-patterns/api-style.md
T
huanld d1871b3979
Release pipeline / Get version (push) Has been cancelled
Release pipeline / Get Chart Name (push) Has been cancelled
Release pipeline / tests (push) Has been cancelled
Release pipeline / builds (push) Has been cancelled
Release pipeline / builds-ghcr (push) Has been cancelled
Release pipeline / test-deployments (push) Has been cancelled
Release pipeline / deploy (push) Has been cancelled
Release pipeline / Helm chart oci (push) Has been cancelled
Release pipeline / npm (push) Has been cancelled
Release pipeline / snyk (push) Has been cancelled
chore: apply viewer optimizations, tailscale networking fixes, and Dev environment configurations
2026-04-16 13:55:08 +07:00

1.1 KiB

API Style Selection (2025)

REST vs GraphQL vs tRPC - Hangi durumda hangisi?

Decision Tree

Who are the API consumers?
│
├── Public API / Multiple platforms
│   └── REST + OpenAPI (widest compatibility)
│
├── Complex data needs / Multiple frontends
│   └── GraphQL (flexible queries)
│
├── TypeScript frontend + backend (monorepo)
│   └── tRPC (end-to-end type safety)
│
├── Real-time / Event-driven
│   └── WebSocket + AsyncAPI
│
└── Internal microservices
    └── gRPC (performance) or REST (simplicity)

Comparison

Factor REST GraphQL tRPC
Best for Public APIs Complex apps TS monorepos
Learning curve Low Medium Low (if TS)
Over/under fetching Common Solved Solved
Type safety Manual (OpenAPI) Schema-based Automatic
Caching HTTP native Complex Client-based

Selection Questions

  1. Who are the API consumers?
  2. Is the frontend TypeScript?
  3. How complex are the data relationships?
  4. Is caching critical?
  5. Public or internal API?