A weekly newsletter of the best news, articles and projects about GraphQL

Videos

My existential crisis about errors in GraphQL vs Apollo vs Relay

In this short video, Sezgi discusses how error handling should be done according to the GraphQL specification and how this translates to Apollo and Relay which take a slightly different approach.

GraphQL Subscriptions with React and Apollo Client

A to-the-point 15-minute video tutorial on how to build a notifications component in React with Apollo Client to handle GraphQL Subscriptions. The tutorial starts with an empty repository all the way to a working client-side GraphQL subscription.

Libraries

Async-graphql - the GraphQL server library implemented in Rust

The JavaScript and Node.js ecosystem has been instrumental in shaping the tools we use to build applications. Thanks to GraphQL language-agnostic specification, we now see many libraries and implementations in different languages. Async-graphql is the latest contender in the Rust ecosystem joining Junpier and differentiates itself with its support for async/await in Rust amongst many other features.

Tutorials

Go GraphQL: Introduction to building GraphQL API in Golang

In this comprehensive tutorial, Gufran guides through the process of building a Star Wars GraphQL API in Golang with JWT authentication and pagination. It starts with some background on Go and GraphQL and delves into the implementation. One of the interesting details is how the code-first approach is used in Go to construct the GraphQL schema.

Articles

How to secure a GraphQL service using persisted queries

In this article, Christoph suggests persisted queries as an approach to improving the security (and performance) of GraphQL APIs. The working argument is that while GraphQL provides a lot of flexibility, it also exposes a lot of information that can increase attack vectors. The approach suggested is a kind of security through obscurity whereby instead of sending queries to the API, you send the hash of a query and the API maintains a list of allowed query hashes. The article covers some of the limitations of this approach and similar solutions in the ecosystem. Follow along for an interesting read.

Designing GraphQL schemas

Designing the GraphQL schema is often the first step in your app development journey using GraphQL. This guide presents an intuitive, straightforward process to design your GraphQL schemas and modify them as your application UIs become increasingly complex.

Hasura: Introducing Actions

This blog post introduces a technique to add custom business logic to your GraphQL API with Hasura Actions. Understand all the benefits of this architecture, such as the ability to work on new or existing databases, specify Hasura authorization rules, and be served by a serverless function. Check out how to get started with Hasura and actions with the documentation provided at the end of the blog!