• Home
  • Services
    • Add/Update with AI & ML
    • New Product Research or Processes
    • Interim VP or CPO
  • Case Studies
  • Product Articles
    • Why Being A Technical PM Matters
    • 7 Hidden Secrets for Off Shore Success
    • 99 Software Development Organizations
    • Advice for Start-Ups
  • Tech Articles
    • Graph vs Relational Databases
    • REST vs GraphQL APIs
    • 5 Reasons To Use a Graph Database
    • The Easy Path to Blockchain Integration
  • About Us
  • Contact Us
    • Contact Us
858-547-8401

GraphQL vs REST APIs

GraphQL vs REST APIs

REST is a ubiquitous and very serviceable client-server API specification across the industry. REST allows a client application to act on a remote resource using the HTTP-standard actions of POST, GET, PUT, and DELETE to perform the standard CRUD operations on a URL-specified resource. GraphQL is client-server API specification that allows a client application to act on remote resources over HTTP where actions are specified within content of the HTTP request.

REST APIs can Overfetch

REST is resource-oriented and requires an API invocation for each resource to be fetched. For example, retrieving the details of a list of objects or related objects may each require a new invocation. REST also fetches the full set of attributes as specified by the API. Both of these features negatively impact performance. The first introduces chatty communications. The second over-fetches data that may be of no interest to the client application.

GraphQLs are Efficient

GraphQL takes a completely different approach. GraphQL presents a schema of the underlying resources where the client application sends queries or updates to the API. With a single API invocation, the client application is able to access not only multiple resources but the specific attributes of interest within a resource and under what criteria. The flexibility of allowing the client to dictate its interests improves performance and simplifies the overall API implementation by decoupling the implementation from client request variations.

We use cookies to enable essential functionality on our website, and analyze website traffic. By clicking Accept you consent to our use of cookies. Read about how we use cookies.

Your Cookie Settings

We use cookies to enable essential functionality on our website, and analyze website traffic. Read about how we use cookies.

Cookie Categories
Essential

These cookies are strictly necessary to provide you with services available through our websites. You cannot refuse these cookies without impacting how our websites function. You can block or delete them by changing your browser settings, as described under the heading "Managing cookies" in the Privacy and Cookies Policy.

Analytics

These cookies collect information that is used in aggregate form to help us understand how our websites are being used or how effective our marketing campaigns are.