APIs/GraphQL/Distributed Systems @netflix
Prev: @github, @shopify
Author https://t.co/Q72l7p7RPx
Dec 8, 2021 • 9 tweets • 2 min read
Small 🧵on GraphQL observability: How to shift your thinking coming from more typical endpoint-based HTTP APIs.
First up, status codes & errors. 200s vs 400s vs 500s. They still matter, but we need to zoom in on the 200s. On top of HTTP status codes, monitor GraphQL responses. Use a code in your GraphQL errors to be able to differentiate between client errors and server errors.
If you're just starting out with GraphQL or getting issues with data loading during execution, you've probably heard things like "Make sure you're using Dataloader" or "Just use batch loading!". What is this all about? Thread:
The principal unit of execution in a GraphQL API is the *resolver*. The resolver is a great pattern to use because it is a stand-alone function with a single purpose, providing data for a single GraphQL field.
Jan 8, 2019 • 5 tweets • 1 min read
Thread: I think we need to be careful when saying having a GraphQL API means you don't need to think about documentation and get it for free.
GraphQL definitely gives us a head start, just like JSON Schema / OpenAPI can. However, I kinda of see that as a help to build an API reference more than complete documentation.