Application Integration

GraphQL: a query language for your APIs

GraphQL APIs

When you are using APIs to query your data from an existing application, GraphQL APIs are an interesting API query language to investigate in further detail. GraphQl differs from REST APIs in many different ways.

According to the Wikipedia definition for GraphQL, “GraphQL is an open-source data query and manipulation language for APIs, and runtime for fulfilling queries with existing data.” Furthermore, GraphQL is one of Facebook Opensource projects maintained by the Facebook engineering team. GraphQl was created in 2012. It went on to describe the detailed capabilities and requirements of data models for client-server applications. Consequently, Facebook mobile apps have been powered by GraphQL since this time. This concept continues to be an evolving language. Thanks to its popularity, it’s currently used by fast-growing U.S. companies such as GitHub, Pinterest, Intuit, Coursera, Shopify.

GraphQL APIs

Here are some interesting key points about GraphQL:
# 1: GraphQL APIs questions always run predictable results: you define in your query what you want to get and you don’t get anything more or less in the response. With REST APIs, the response is up to the server, not up to the API client.

#2: GraphQL APIs offer access to your data from a single endpoint. Yet, REST APIs are organized in terms of endpoints.
#3: GraphQL APIs can get all the data you need in a single request. Furthermore, it can fetch the main entity along with the needed referenced entities. Consequently, with REST APIs, you need to make multiple calls to get all related data.

There are many different programming languages that will support GraphQL:

  • Server libraries: Node.js, Ruby, Python, Scala, Java, PHP, C# …
  • GraphQL clients: JavaScript, Swift/iOS, Java/Android, C#/.NET

Read all about if REST API security risks keep you awake at night?

Do you want to know more regarding GraphQL? Read all about GraphQL in more detail on their website.