Skip to content

GraphQL and REST API Design — Resources

[!WARNING] Verified resources only. Every entry in this file must be something you have personally confirmed exists, is accessible, and is genuinely useful. Do not add resources based on hearsay, AI suggestions, or titles that "sound right." A short list of excellent resources beats a long list of unverified ones.


Official Documentation

  • GraphQL Specification — The authoritative specification for the GraphQL language, maintained by the GraphQL Foundation. Essential reference for understanding what GraphQL actually guarantees vs. what is implementation-specific.
  • GraphQL.org Learn — Official introduction to GraphQL concepts; well-structured and accurate.
  • OpenAPI Specification 3.x — The official OpenAPI specification. Use as reference when writing OpenAPI documents.
  • Swagger Editor / OpenAPI Tools — Official Swagger tooling for editing, validating, and visualising OpenAPI specs.
  • MDN HTTP Reference — Mozilla's comprehensive reference for HTTP methods, status codes, headers, and concepts. The best free HTTP reference on the web.
  • RFC 7231 — HTTP/1.1 Semantics — The definitive specification for HTTP method semantics and status codes. Worth reading the method and status-code sections directly.

Books

Title Author(s) Level Format Notes
[Verify: "Designing Web APIs" by Brenda Jin, Saurabh Sahni, Amir Shevat — confirm publisher and ISBN before citing] Jin, Sahni, Shevat Intermediate Print/eBook Practical guide to API design decisions; covers REST, GraphQL, and real-world versioning challenges
[Verify: "GraphQL in Action" by Samer Buna — confirm edition and publisher] Samer Buna Beginner–Intermediate Print/eBook Hands-on introduction to GraphQL with Node.js examples
Roy Fielding's Dissertation, Ch. 5: "Representational State Transfer" Roy Fielding Advanced (primary source) Online (free) The original definition of REST — [Verify URL: University of California, Irvine repository]

Use ISBN or direct publisher links where possible to avoid linking to pirated copies.


Online Courses

Course Platform Level Free? Notes
[Verify: "APIs and Web Services" on Coursera — confirm exact title and offering university] Coursera Beginner Audit free Introduction to REST API concepts
GraphQL.org Learn Path graphql.org Beginner Free Official step-by-step introduction
[Verify: Apollo GraphQL tutorials at apollographql.com/tutorials — confirm URL] Apollo GraphQL Intermediate Free Hands-on Apollo Server and Client tutorials

Video Resources

Title / Channel Type Level Notes
[Verify: REST API tutorials on YouTube — confirm specific channel/video before citing] Various Beginner Do not add unverified YouTube links
[Verify: GraphQL introduction by Lee Byron or Sashko Stubailo — confirm exact talk title and conference] Conference talk Intermediate GraphQL origin story from its creators

Papers & Research

Title Authors Year Link Why It Matters
"Architectural Styles and the Design of Network-based Software Architectures" (Ch. 5) Roy T. Fielding 2000 [Verify: UCI repository URL] The original REST definition — every REST API practitioner should read at least Chapter 5

Tools & Libraries

Tool / Library Language Purpose Link
curl CLI Making HTTP requests from the command line curl.se
httpie CLI/Python Human-friendly HTTP client for the terminal httpie.io
Postman GUI API exploration, testing, and documentation postman.com
Apollo Server JavaScript/Node.js GraphQL server implementation apollographql.com/docs/apollo-server
Apollo Client JavaScript GraphQL client for React/other frameworks apollographql.com/docs/react
graphql-js JavaScript Reference implementation of the GraphQL specification github.com/graphql/graphql-js
strawberry-graphql Python GraphQL server library with type annotations strawberry.rocks
ariadne Python Schema-first GraphQL for Python ariadnegraphql.org
FastAPI Python REST API framework with built-in OpenAPI generation fastapi.tiangolo.com
DataLoader JavaScript Batch-loading utility for solving the N+1 problem github.com/graphql/dataloader
Pact Multi-language Consumer-driven contract testing pact.io
Kong Platform Open-source API gateway konghq.com/kong

Communities

Community Platform Focus Link
r/graphql Reddit GraphQL discussion reddit.com/r/graphql
GraphQL Foundation GitHub Specification and ecosystem github.com/graphql
Stack Overflow — graphql tag Stack Overflow Technical Q&A stackoverflow.com/questions/tagged/graphql
Stack Overflow — rest tag Stack Overflow Technical Q&A stackoverflow.com/questions/tagged/rest

Cheat Sheets & Quick References

See also the local CHEATSHEET.md which you'll build yourself as you study.


My Recommendations

Fill in as you progress — what actually helped you most?

Best for Absolute Beginners

To be filled in

Best for Building Mental Models

To be filled in

Best for Practical / Hands-On Learning

To be filled in

Best Deep Reference

To be filled in


Resources to Evaluate

Drop links here when you find something but haven't verified it yet.

  • Roy Fielding's dissertation (Chapter 5) — needs direct URL verification
  • "Designing Web APIs" book — needs ISBN and confirmed publisher details
  • Apollo GraphQL tutorials URL — needs verification of current URL structure