Chapter 6. GraphQL
In REST APIs, data retrieval is done by sending a request to a specific endpoint that describes a resource, and in most cases, the returned data comes in a fixed shape. The query-based API style allows you to build APIs in which the data returned by them mirrors the shape of the query. This chapter introduces you to GraphQL, a technology that represents a query-based API style.
While REST is the most popular API technology, GraphQL isn’t far behind.1 It was released by Facebook (now Meta) in 2015 as open source and later moved to the GraphQL Foundation. GraphQL is a query language for API, and a server-side runtime for executing queries using a type system that defines the data.2 Although GraphQL is agnostic to the transport mechanism, HTTP is the most common choice for data exchange between the GraphQL client and server. GraphQL also supports simultaneous bidirectional data transfers using GraphQL’s subscription operation, which often uses the WebSocket protocol (Chapter 10).
This chapter describes GraphQL’s origins, specification, security practices, and trade-offs. Next, you’ll implement WFS’s GraphQL API and compare it to the REST API style from Chapter 5.
Problems with REST
Despite being the most widely adopted, REST APIs come with shortcomings.
REST APIs are often tightly coupled to the data structures they expose, as their resources typically represent data models revealed by endpoints. This coupling makes it difficult to perform data changes without ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access