Features

Features Overview

Here's an overview of the most important features of WunderGraph.

TypeScript Hooks to Customize the API Gateway Middleware

Hooks are a way to customize the behavior of the API Gateway middleware. We've decided to make hooks as easy to use as possible. No extra service is required to use hooks, it's all TypeScript, everything is type safe.

TypeScript Webhooks to integrate third party applications

Webhooks are a way to add custom webhook endpoints to the API Gateway. Similar to hooks, you have the full flexibility of Node.js inside a Webhook. Verifiers can be configured to secure your webhooks. It's all TypeScript, everything is type safe.

TypeScript Operations

TypeScript Operations allow you to extend your WunderGraph Application with custom Operations, purely written in TypeScript

API Namespacing

When combining multiple APIs, it's inevitable to run into naming collisions, like two schemas define a user type. API Namespacing solves this problem.

Cross-API Joins to Compose APIs

Want to combine data from multiple APIs without writing any custom code? Cross-API Joins are a way to do that.

Type-Safe Mocking

Sometimes, you're not able to use the real Origin during testing. You can use Type-Safe Mocking to mock the APIs you need.

Local Development

WunderGraph is and will always be local first, No emulation required.

OpenID Connect-Based Authentication

Nobody should build their own authentication system, it's only going to create problems and security risks.

Authentication-aware data fetching

WunderGraph generates smart clients that know if an operation requires authentication or not. That makes the client-side code a lot easier to reason about, and the user experience a lot better.

Authorization - Injecting Claims

Need to securely inject the user ID or email into a GraphQL Operation? WunderGraph allows you to easily do that with claims injection.

Authorization - Role Based Access Control (RBAC)

We've got built in support for Role Based Access Control (RBAC), which integrates perfectly with your OpenID Connect Provider of choice.

Automatic CSRF protection for mutations

Have you thought about implementing CSRF protection for mutations? With WunderGraph, it's enabled by default.

HTTP Layer Caching

You cannot use HTTP-Layer caching for GraphQL, right? Well, with WunderGraph, this works out of the box.

GraphQL to JSON-RPC Compiler

At the features of WunderGraph is the GraphQL to JSON-RPC Compiler, making WunderGraph much more secure than other GraphQL tools and enabling a lot of features.

Automatic Content Revalidation with ETags

WunderGraph automatically revalidates content with ETags, no config required.

Realtime Subscriptions

GraphQL Subscriptions are a nice way to keep your clients up to date with the latest data. WunderGraph supports Subscriptions out of the box, even if you're using Apollo Federation.

Live Queries

Your backend doesn't support Subscriptions? No problem, WunderGraph supports Live Queries out of the box, turning every API into a realtime API using server-side polling.

Generated Clients and SDKs

Why stop at the Gateway level if we can generate clients and SDKs as well? WunderGraph gives you an end-to-end solution, with type-safe clients and SDKs out of the box.

JSON Schema Validation

Input validation is important to build robust APIs. WunderGraph provides JSON Schema Validation out of the box.

Generated APIs for any database

In some cases, you simply want to access your database as easy as possible. WunderGraph provides a way to generate APIs for any database in seconds.

File-based Operations

We've adopted a pattern from Next.js, allowing you to define Operations using a file-based approach.

Configuration as Code

Everything in WunderGraph is configurable as code, with TypeScript, instead of JSON or YAML.

File Uploads to S3-compatible File Storages

Need file uploads without any hassle? Plug in your S3 compatible file storage of choice and WunderGraph handles the rest.

Custom GraphQL Resolvers

When APIs generated from your database are not enough, you can easily define your own GraphQL Resolvers, keeping clients decoupled from the generated APIs.

Generate OpenAPI definitions and Postman collections

Quickly test your API or generate bindings for other languages

Was this article helpful to you?
Provide feedback

Edit this page