SlideShare a Scribd company logo
A QUICK INTRODUCTION TO GRAPHQL
ASHOKKUMAR T.A. | 25-MAR-20201
WHAT IS GRAPHQL
 A query language for APIs
 Created at Facebook in 2012 & open sourced in 2015
 Specification, many implementations in multiple languages
 Specs at http://spec.graphql.org/
 GraphQL Foundation – neutral body to promote widespread adoption
WHY GRAPHQL
 Less chatty
 Client chooses the fields it needs, tailor made response
 API evolution without versioning
 Rapid development
 Best for microservices – combine multiple APIs, pick only the needed fields
GRAPHQL VS. REST
Response
Specific vs. Standard
Architecture
Client Driven vs. Resource oriented
URLs
Single POST URL vs Resource based
Language
Query/Mutation vs. GET/POST/PUT/DELETE
Eco-system
Fast growing vs. Well estabilished
UNDERSTANDING GRAPHQL ARCHITECTURE
BASIC BUILDING BLOCKS
 Types
 Schema
 Queries
 Mutations
 Resolvers
 Client
GETTING STARTED – WELCOME & GREET API’S
 App with 2 APIs – welcome & greet
 GraphQL.js
 With Express GraphQL Server
 Query APIs – welcome & greet
 Implementing the resolvers
 Putting it all together
 GraphiQL Client
DEMO
 Multiple API calls in one request, response controlled from client
 OOB parameter validations, API documentation
 Demo code can be downloaded from https://github.com/ashokkumarta/graphql-samples/tree/main/01
DIGGING IN FURTHER
 Mock the training schedule
 Types
 Student
 Course
 Training
 Schema definition is the key
DEMO
 User defined types & conditions
 Selection of attributes needed in the response dictated by client
 Demo code can be downloaded from https://github.com/ashokkumarta/graphql-samples/tree/main/02
DISCUSSION
THANKYOU
Feedback and suggestions welcome.
Please write to ashokkumar.ta@gmail.com

More Related Content

PDF
A quick introduction to Strapi CMS
Ashokkumar T A
 
PPTX
apidays LIVE Australia 2020 - Productising your Microservices as API Products...
apidays
 
PPT
Hippo CMS - A first look
Piergiorgio Lucidi
 
PDF
Tools for designing and building great APIs
Kong Inc.
 
PPTX
apidays LIVE Australia 2020 - Have your cake and eat it too: GraphQL? REST? W...
apidays
 
PDF
Summit Australia 2019 - PowerApps Component Framework (PCF) - Andrew Ly & Aun...
Andrew Ly
 
PPTX
apidays LIVE Australia 2020 - Leveraging DevOps to visualize your digital eco...
apidays
 
PPTX
Building loosely coupled integrations with Logic Apps
BizTalk360
 
A quick introduction to Strapi CMS
Ashokkumar T A
 
apidays LIVE Australia 2020 - Productising your Microservices as API Products...
apidays
 
Hippo CMS - A first look
Piergiorgio Lucidi
 
Tools for designing and building great APIs
Kong Inc.
 
apidays LIVE Australia 2020 - Have your cake and eat it too: GraphQL? REST? W...
apidays
 
Summit Australia 2019 - PowerApps Component Framework (PCF) - Andrew Ly & Aun...
Andrew Ly
 
apidays LIVE Australia 2020 - Leveraging DevOps to visualize your digital eco...
apidays
 
Building loosely coupled integrations with Logic Apps
BizTalk360
 

What's hot (20)

PDF
Lessons learned: Choosing your documentation system
Pronovix
 
PPTX
Azure Integration in Production with Logic Apps and more
BizTalk360
 
PPTX
Everybody loves Swagger
BizTalk360
 
PPTX
Tools and techniques for APIs
Jason Harmon
 
PPTX
Logic Apps – Deployments
BizTalk360
 
PDF
O365Con18 - Using ARM Templates to Deploy Solutions on Azure - Kevin Timmermann
NCCOMMS
 
PPTX
Running the-next-generation-of-cloud-native-applications-using-open-applicati...
NaveedAhmad239
 
PPTX
Openstack Heat & How Autoscaling works
Jayaprakash R
 
PDF
Beautifying the Beautiful: Theming WSO2 API Manager
WSO2
 
PPTX
Continuous Integration and Delivery at Shapeways (Matt Boyle)
Nordic APIs
 
PDF
Versioning strategy for a complex internal API (Konstantin Yakushev)
Nordic APIs
 
PPTX
Building Push Triggers for Logic Apps
BizTalk360
 
PDF
BizTalk Server Extensibility
BizTalk360
 
PDF
Google App Engine's Latest Features
Chris Schalk
 
PPTX
Containerized application
Shadrach Jabonir
 
PPTX
ECS 19 - Chris O'Brien - The hit list - Office 365 dev techniques you should ...
European Collaboration Summit
 
PDF
Perforce JavaScript API
Perforce
 
PPTX
Create a modern(ish) BAM portal in (roughly) one hour!
BizTalk360
 
PDF
Microservices & API Gateways
Kong Inc.
 
PPTX
API Gateway with legend lambada
Squash Apps Pvt Ltd
 
Lessons learned: Choosing your documentation system
Pronovix
 
Azure Integration in Production with Logic Apps and more
BizTalk360
 
Everybody loves Swagger
BizTalk360
 
Tools and techniques for APIs
Jason Harmon
 
Logic Apps – Deployments
BizTalk360
 
O365Con18 - Using ARM Templates to Deploy Solutions on Azure - Kevin Timmermann
NCCOMMS
 
Running the-next-generation-of-cloud-native-applications-using-open-applicati...
NaveedAhmad239
 
Openstack Heat & How Autoscaling works
Jayaprakash R
 
Beautifying the Beautiful: Theming WSO2 API Manager
WSO2
 
Continuous Integration and Delivery at Shapeways (Matt Boyle)
Nordic APIs
 
Versioning strategy for a complex internal API (Konstantin Yakushev)
Nordic APIs
 
Building Push Triggers for Logic Apps
BizTalk360
 
BizTalk Server Extensibility
BizTalk360
 
Google App Engine's Latest Features
Chris Schalk
 
Containerized application
Shadrach Jabonir
 
ECS 19 - Chris O'Brien - The hit list - Office 365 dev techniques you should ...
European Collaboration Summit
 
Perforce JavaScript API
Perforce
 
Create a modern(ish) BAM portal in (roughly) one hour!
BizTalk360
 
Microservices & API Gateways
Kong Inc.
 
API Gateway with legend lambada
Squash Apps Pvt Ltd
 
Ad

Similar to A quick introduction to GraphQL (20)

PPTX
GraphQL.net
Tyler Ayers
 
PDF
codersera_com (1).pdf
ThomasWilfred1
 
PPTX
REST API vs. GraphQL: Which Should You Pick for Your Project?
dzinesoniya
 
PPTX
GraphQL - Missing Link In REST
Anubolu Sreekanth
 
PPT
Graphql presentation
Vibhor Grover
 
PDF
Rate Limiting GQLs Using Depth and Complexity Analysis
WSO2
 
PPTX
INTERFACE by apidays_What's your Type? Understanding API Types and Choosing t...
apidays
 
PPTX
Introduction to GraphQL
Rodrigo Prates
 
PPTX
Create GraphQL server with apolloJS
Jonathan Jalouzot
 
PDF
Exposing GraphQLs as Managed APIs
WSO2
 
PDF
Graphql
Niv Ben David
 
PPTX
Harnessing the Power of GraphQL in WordPress
Sandip Basnet
 
PDF
APIdays Paris - How to Build Your Web API
Restlet
 
PPTX
GraphQL.pptx
Preston Flossy
 
PPTX
GraphQL.pptx
Preston Flossy
 
PDF
APIdays Barcelona 2019 - How a Cloud native Architecture helps to drive Busin...
apidays
 
PDF
GraphQL- Presentation
Ridwan Fadjar
 
PDF
GraphQL - IL - Accelerate your GraphQL adoption using bit
Gilad Shoham
 
PDF
Testing and Developing GraphQL APIs
Postman
 
PPTX
GraphQL Introduction with Spring Boot
vipin kumar
 
GraphQL.net
Tyler Ayers
 
codersera_com (1).pdf
ThomasWilfred1
 
REST API vs. GraphQL: Which Should You Pick for Your Project?
dzinesoniya
 
GraphQL - Missing Link In REST
Anubolu Sreekanth
 
Graphql presentation
Vibhor Grover
 
Rate Limiting GQLs Using Depth and Complexity Analysis
WSO2
 
INTERFACE by apidays_What's your Type? Understanding API Types and Choosing t...
apidays
 
Introduction to GraphQL
Rodrigo Prates
 
Create GraphQL server with apolloJS
Jonathan Jalouzot
 
Exposing GraphQLs as Managed APIs
WSO2
 
Graphql
Niv Ben David
 
Harnessing the Power of GraphQL in WordPress
Sandip Basnet
 
APIdays Paris - How to Build Your Web API
Restlet
 
GraphQL.pptx
Preston Flossy
 
GraphQL.pptx
Preston Flossy
 
APIdays Barcelona 2019 - How a Cloud native Architecture helps to drive Busin...
apidays
 
GraphQL- Presentation
Ridwan Fadjar
 
GraphQL - IL - Accelerate your GraphQL adoption using bit
Gilad Shoham
 
Testing and Developing GraphQL APIs
Postman
 
GraphQL Introduction with Spring Boot
vipin kumar
 
Ad

More from Ashokkumar T A (17)

PDF
Cloud trends - 2020
Ashokkumar T A
 
PDF
AEM - Binary less replication
Ashokkumar T A
 
PDF
Microservices trends - 2020
Ashokkumar T A
 
PDF
Upgrading or migrating to a higher AEM version - Planning and process
Ashokkumar T A
 
PDF
Aligning to AEMs Release Cycle
Ashokkumar T A
 
PDF
Designing for search in AEM
Ashokkumar T A
 
PDF
AEM - A Collection of developer friendly tools
Ashokkumar T A
 
PDF
On MQ Series & JMS
Ashokkumar T A
 
PDF
Aem offline content
Ashokkumar T A
 
PDF
Reactive applications
Ashokkumar T A
 
PDF
Redis overview
Ashokkumar T A
 
PDF
Apache shiro security framework
Ashokkumar T A
 
PDF
Web analytics an intro
Ashokkumar T A
 
PDF
The six key steps to AEM architecture
Ashokkumar T A
 
PDF
Cms product evaluation
Ashokkumar T A
 
PDF
Aem maintenance
Ashokkumar T A
 
PDF
Aem dispatcher – tips & tricks
Ashokkumar T A
 
Cloud trends - 2020
Ashokkumar T A
 
AEM - Binary less replication
Ashokkumar T A
 
Microservices trends - 2020
Ashokkumar T A
 
Upgrading or migrating to a higher AEM version - Planning and process
Ashokkumar T A
 
Aligning to AEMs Release Cycle
Ashokkumar T A
 
Designing for search in AEM
Ashokkumar T A
 
AEM - A Collection of developer friendly tools
Ashokkumar T A
 
On MQ Series & JMS
Ashokkumar T A
 
Aem offline content
Ashokkumar T A
 
Reactive applications
Ashokkumar T A
 
Redis overview
Ashokkumar T A
 
Apache shiro security framework
Ashokkumar T A
 
Web analytics an intro
Ashokkumar T A
 
The six key steps to AEM architecture
Ashokkumar T A
 
Cms product evaluation
Ashokkumar T A
 
Aem maintenance
Ashokkumar T A
 
Aem dispatcher – tips & tricks
Ashokkumar T A
 

Recently uploaded (20)

PPTX
Can You Build Dashboards Using Open Source Visualization Tool.pptx
Varsha Nayak
 
PDF
Download iTop VPN Free 6.1.0.5882 Crack Full Activated Pre Latest 2025
imang66g
 
PDF
49785682629390197565_LRN3014_Migrating_the_Beast.pdf
Abilash868456
 
PDF
vAdobe Premiere Pro 2025 (v25.2.3.004) Crack Pre-Activated Latest
imang66g
 
PPTX
Explanation about Structures in C language.pptx
Veeral Rathod
 
PDF
Enhancing Healthcare RPM Platforms with Contextual AI Integration
Cadabra Studio
 
PDF
What to consider before purchasing Microsoft 365 Business Premium_PDF.pdf
Q-Advise
 
PPTX
GALILEO CRS SYSTEM | GALILEO TRAVEL SOFTWARE
philipnathen82
 
PDF
10 posting ideas for community engagement with AI prompts
Pankaj Taneja
 
PDF
Protecting the Digital World Cyber Securit
dnthakkar16
 
PPTX
Presentation about variables and constant.pptx
kr2589474
 
PPTX
Odoo Integration Services by Candidroot Solutions
CandidRoot Solutions Private Limited
 
PDF
New Download MiniTool Partition Wizard Crack Latest Version 2025
imang66g
 
PDF
Exploring AI Agents in Process Industries
amoreira6
 
PPT
Why Reliable Server Maintenance Service in New York is Crucial for Your Business
Sam Vohra
 
PDF
Using licensed Data Loss Prevention (DLP) as a strategic proactive data secur...
Q-Advise
 
PDF
49784907924775488180_LRN2959_Data_Pump_23ai.pdf
Abilash868456
 
PPTX
TRAVEL APIs | WHITE LABEL TRAVEL API | TOP TRAVEL APIs
philipnathen82
 
PPTX
The-Dawn-of-AI-Reshaping-Our-World.pptxx
parthbhanushali307
 
PDF
Salesforce Implementation Services Provider.pdf
VALiNTRY360
 
Can You Build Dashboards Using Open Source Visualization Tool.pptx
Varsha Nayak
 
Download iTop VPN Free 6.1.0.5882 Crack Full Activated Pre Latest 2025
imang66g
 
49785682629390197565_LRN3014_Migrating_the_Beast.pdf
Abilash868456
 
vAdobe Premiere Pro 2025 (v25.2.3.004) Crack Pre-Activated Latest
imang66g
 
Explanation about Structures in C language.pptx
Veeral Rathod
 
Enhancing Healthcare RPM Platforms with Contextual AI Integration
Cadabra Studio
 
What to consider before purchasing Microsoft 365 Business Premium_PDF.pdf
Q-Advise
 
GALILEO CRS SYSTEM | GALILEO TRAVEL SOFTWARE
philipnathen82
 
10 posting ideas for community engagement with AI prompts
Pankaj Taneja
 
Protecting the Digital World Cyber Securit
dnthakkar16
 
Presentation about variables and constant.pptx
kr2589474
 
Odoo Integration Services by Candidroot Solutions
CandidRoot Solutions Private Limited
 
New Download MiniTool Partition Wizard Crack Latest Version 2025
imang66g
 
Exploring AI Agents in Process Industries
amoreira6
 
Why Reliable Server Maintenance Service in New York is Crucial for Your Business
Sam Vohra
 
Using licensed Data Loss Prevention (DLP) as a strategic proactive data secur...
Q-Advise
 
49784907924775488180_LRN2959_Data_Pump_23ai.pdf
Abilash868456
 
TRAVEL APIs | WHITE LABEL TRAVEL API | TOP TRAVEL APIs
philipnathen82
 
The-Dawn-of-AI-Reshaping-Our-World.pptxx
parthbhanushali307
 
Salesforce Implementation Services Provider.pdf
VALiNTRY360
 

A quick introduction to GraphQL

  • 1. A QUICK INTRODUCTION TO GRAPHQL ASHOKKUMAR T.A. | 25-MAR-20201
  • 2. WHAT IS GRAPHQL  A query language for APIs  Created at Facebook in 2012 & open sourced in 2015  Specification, many implementations in multiple languages  Specs at http://spec.graphql.org/  GraphQL Foundation – neutral body to promote widespread adoption
  • 3. WHY GRAPHQL  Less chatty  Client chooses the fields it needs, tailor made response  API evolution without versioning  Rapid development  Best for microservices – combine multiple APIs, pick only the needed fields
  • 4. GRAPHQL VS. REST Response Specific vs. Standard Architecture Client Driven vs. Resource oriented URLs Single POST URL vs Resource based Language Query/Mutation vs. GET/POST/PUT/DELETE Eco-system Fast growing vs. Well estabilished
  • 6. BASIC BUILDING BLOCKS  Types  Schema  Queries  Mutations  Resolvers  Client
  • 7. GETTING STARTED – WELCOME & GREET API’S  App with 2 APIs – welcome & greet  GraphQL.js  With Express GraphQL Server  Query APIs – welcome & greet  Implementing the resolvers  Putting it all together  GraphiQL Client
  • 8. DEMO  Multiple API calls in one request, response controlled from client  OOB parameter validations, API documentation  Demo code can be downloaded from https://github.com/ashokkumarta/graphql-samples/tree/main/01
  • 9. DIGGING IN FURTHER  Mock the training schedule  Types  Student  Course  Training  Schema definition is the key
  • 10. DEMO  User defined types & conditions  Selection of attributes needed in the response dictated by client  Demo code can be downloaded from https://github.com/ashokkumarta/graphql-samples/tree/main/02