blogs.karthikeyanvk.in
IS REST Dead? Learn through GraphQL.Net
Karthikeyan VK
https://blogs.karthikeyanvk.in
@karthik3030
blogs.karthikeyanvk.in
Enter Text IS REST Dying ?
blogs.karthikeyanvk.in
Enter Text
Why GRAPHQL?
Simplified Workflow(Single
endpoint)
Remove over and under fetching
Avoid multiple round trips
blogs.karthikeyanvk.in
Enter Text
Why GRAPHQL?
Type Safety
Increased velocity of
development
Improved developer experience
blogs.karthikeyanvk.in
Enter Text
Simplified Workflow
blogs.karthikeyanvk.in
Enter Text
Remove Over and Under fetching
blogs.karthikeyanvk.in
Enter Text
Avoid Multiple Round trips
blogs.karthikeyanvk.in
Enter Text
Type Safety
blogs.karthikeyanvk.in
Enter Text
Increased velocity of
development
blogs.karthikeyanvk.in
Enter Text
Improved developer experience
blogs.karthikeyanvk.in
Enter Text
Transition of Data Transfer
REST REST-RPC GRAPHQL
blogs.karthikeyanvk.in
Enter Text
DEMO
blogs.karthikeyanvk.in
Enter Text
What is GraphQL?
GraphQL is a query language for your API, and a
server-side runtime for executing queries by using a
type system you define for your data.
blogs.karthikeyanvk.in
Enter Text
What is Graph in GraphQL?
blogs.karthikeyanvk.in
Enter Text
What is GraphiQL?
GraphiQL is an interactive in-browser GraphQL IDE.
blogs.karthikeyanvk.in
Enter Text
DEMO
blogs.karthikeyanvk.in
Enter Text
Schema Types
blogs.karthikeyanvk.in
Enter Text
Queries
public class StarWarsQuery : ObjectGraphType
{
public StarWarsQuery()
{
Field<DroidType>( "hero", resolve: context => new Droid { Id = "1", Name = "R2-D2" } );
}
}
blogs.karthikeyanvk.in
Enter Text
Mutation
mutation newNHL($player: PlayerInput!)
{
createPlayer(player: $player)
{
name
id
}
}
blogs.karthikeyanvk.in
Enter Text
Subscriptions
Subscriptions creates a two way communication between the client and server like
SignalR
blogs.karthikeyanvk.in
Enter Text
Malicious Queries
blogs.karthikeyanvk.in
Enter Text
Validation and Authorization
blogs.karthikeyanvk.in
Enter Text
Validation and Authorization
blogs.karthikeyanvk.in
Enter Text
DEMO
blogs.karthikeyanvk.in
Enter Text
Best Practices
Naming Matters
Think in Graph and not in endpoints
Improved developer experience
Describe the data, not the view
Remember, GraphQL is thin Interface
blogs.karthikeyanvk.in
Enter Text
Best Practices
Naming Matters
Think in Graph and not in endpoints
Improved developer experience
Describe the data, not the view
Remember, GraphQL is thin Interface
blogs.karthikeyanvk.in
Enter Text
Migration Strategies
Solve a real problem
Think like a client
Have a first client
Incremental Adoption
Finally YAGNI
blogs.karthikeyanvk.in
Enter Text
References
@karthik3030
‱ https://graphql-dotnet.github.io/docs/getting-started/introduction
‱ https://fullstackmark.com/post/17/building-a-graphql-api-with-aspnet-core-2-and-entity-
framework-core
blogs.karthikeyanvk.in
Enter Text
@karthik3030
Thank you
/Q&A

More Related Content

PDF
Integration Testing in Enterprises using TaaS
PDF
Microservices testing in the docker era
PDF
Wax on, wax off
PDF
Getting Ahead of Engineering
PDF
Using Postman to Test OAuth/OIDC
PDF
POST/CON Keynote 2019
PDF
Continuous Delivery for Mobile platforms (iOS and a bit of Android)
PDF
Introduction cypress
Integration Testing in Enterprises using TaaS
Microservices testing in the docker era
Wax on, wax off
Getting Ahead of Engineering
Using Postman to Test OAuth/OIDC
POST/CON Keynote 2019
Continuous Delivery for Mobile platforms (iOS and a bit of Android)
Introduction cypress

What's hot (20)

PDF
Testing CRM from a 360 View - extremeCRM Rome 2013
PDF
Otto MVP Presentation
PDF
Creative Branching Models for Multiple Release Streams
PDF
Build pipelines with TeamCity
PPTX
Software development terminology
 
PDF
Build pipelines with TeamCity
ODP
BDD with Behat Selenium, Sahi and Sauce
PPTX
10x Test Coverage, Less Drama: Shift Left Functional & Performance Testing
PPTX
How to write better tests with Test Driven Development
PDF
Build pipelines with TeamCity
PDF
Come si applica l'OCP
PDF
Overview of modern software ecosystem for big data analysis
PDF
Unit Testing for Frontend Code at Blibli.com
PDF
Automating the API Product Lifecycle
PDF
Success of Blackfire and Continuos PHP performance monitoring at trivago
PPTX
A Tale of Two Apps
PDF
Automating Web Analytics
PDF
Automate REST API Testing
PDF
Continuous delivery from the trenches
PPTX
Be a User first; then a Tester
Testing CRM from a 360 View - extremeCRM Rome 2013
Otto MVP Presentation
Creative Branching Models for Multiple Release Streams
Build pipelines with TeamCity
Software development terminology
 
Build pipelines with TeamCity
BDD with Behat Selenium, Sahi and Sauce
10x Test Coverage, Less Drama: Shift Left Functional & Performance Testing
How to write better tests with Test Driven Development
Build pipelines with TeamCity
Come si applica l'OCP
Overview of modern software ecosystem for big data analysis
Unit Testing for Frontend Code at Blibli.com
Automating the API Product Lifecycle
Success of Blackfire and Continuos PHP performance monitoring at trivago
A Tale of Two Apps
Automating Web Analytics
Automate REST API Testing
Continuous delivery from the trenches
Be a User first; then a Tester
Ad

Similar to Learning graphql .Net (20)

PPTX
Cloud Design Patterns
PPTX
Cloud design pattern using azure
PPTX
Azure Durable Functions
PDF
apidays LIVE Hong Kong 2021 - GraphQL : Beyond APIs, graph your enterprise by...
PDF
JCConf TW 2014 - Modern Design Pattern
PPTX
Scala at Netflix
PDF
Testing in the 21st Century
PDF
當ZK遇芋Front-End
PPTX
Using state-engine-as-sca-component-final
PDF
Wrapping and securing REST APIs with GraphQL
PDF
Securing Your Containerized Applications with NGINX
PPTX
C:\Fakepath\Combating Software Entropy 2
PPTX
C:\Fakepath\Combating Software Entropy 2
PDF
State of Akka 2017 - The best is yet to come
PDF
Alexander Mostovenko "'Devide at impera' with GraphQL and SSR"
 
PPTX
How to be an expert in Debugging .Net Applications
PPTX
Usability AJAX and other ASP.NET Features
PDF
Smarter testing and never waste time again [Workshop]
PDF
Not Only Streams for Akademia JLabs
PPTX
Modularizing RESTful Web Service Management with Aspect Oriented Programming
Cloud Design Patterns
Cloud design pattern using azure
Azure Durable Functions
apidays LIVE Hong Kong 2021 - GraphQL : Beyond APIs, graph your enterprise by...
JCConf TW 2014 - Modern Design Pattern
Scala at Netflix
Testing in the 21st Century
當ZK遇芋Front-End
Using state-engine-as-sca-component-final
Wrapping and securing REST APIs with GraphQL
Securing Your Containerized Applications with NGINX
C:\Fakepath\Combating Software Entropy 2
C:\Fakepath\Combating Software Entropy 2
State of Akka 2017 - The best is yet to come
Alexander Mostovenko "'Devide at impera' with GraphQL and SSR"
 
How to be an expert in Debugging .Net Applications
Usability AJAX and other ASP.NET Features
Smarter testing and never waste time again [Workshop]
Not Only Streams for Akademia JLabs
Modularizing RESTful Web Service Management with Aspect Oriented Programming
Ad

More from Karthikeyan VK (20)

PPTX
GCD ChatGPT.pptx
PPTX
DataScience-101
PPTX
How to become a Software Architect.pptx
PPTX
Blockchain workshop 101
PPTX
Event Streaming Architecture - Deep Dive
PPTX
Anti patterns
PPTX
Tips & Tricks to build software architecture document
PPTX
How to double your productivity as a developer
PPTX
Pillars of great Azure Architecture
PPTX
Monolithic to Microservices - Handson
PPTX
Chat bot LUIS
PPTX
Enterprise security kubernetes
PPTX
Save Azure Cost
PPTX
Azure devspaces
PPTX
Azure Event Grid
PPTX
Machine Learning Basics using Azure ML
PPTX
Convert monolithic .Net Applications to microservices With Principles
PPTX
Cognitive Intelligence using azure search
PPTX
Convert monolithic .Net Applications to microservices
PPTX
Azure container instances
GCD ChatGPT.pptx
DataScience-101
How to become a Software Architect.pptx
Blockchain workshop 101
Event Streaming Architecture - Deep Dive
Anti patterns
Tips & Tricks to build software architecture document
How to double your productivity as a developer
Pillars of great Azure Architecture
Monolithic to Microservices - Handson
Chat bot LUIS
Enterprise security kubernetes
Save Azure Cost
Azure devspaces
Azure Event Grid
Machine Learning Basics using Azure ML
Convert monolithic .Net Applications to microservices With Principles
Cognitive Intelligence using azure search
Convert monolithic .Net Applications to microservices
Azure container instances

Recently uploaded (20)

PDF
10 Mistakes Agile Project Managers Still Make
PDF
IObit Driver Booster Pro Crack Latest Version Download
PDF
Module 1 - Introduction to Generative AI.pdf
PDF
OpenAssetIO Virtual Town Hall - August 2025.pdf
PPTX
UNIT II: Software design, software .pptx
PDF
KidsTale AI Review - Create Magical Kids’ Story Videos in 2 Minutes.pdf
PDF
IDM Crack Activation Key 2025 Free Download
PPTX
SAP Business AI_L1 Overview_EXTERNAL.pptx
PPTX
Comprehensive Guide to Digital Image Processing Concepts and Applications
PPTX
Presentation - Summer Internship at Samatrix.io_template_2.pptx
PPTX
Phoenix Marketo User Group: Building Nurtures that Work for Your Audience. An...
PPTX
Hexagone difital twin solution in the desgining
PDF
4K Video Downloader Crack + License Key 2025
PDF
Enscape 3D Crack + With 2025 Activation Key free
PDF
Difference Between Website and Web Application.pdf
PDF
C language slides for c programming book by ANSI
PPTX
ESDS_SAP Application Cloud Offerings.pptx
PPTX
Greedy best-first search algorithm always selects the path which appears best...
PDF
Software Development Company - swapdigit | Best Mobile App Development In India
PDF
How to Set Realistic Project Milestones and Deadlines
10 Mistakes Agile Project Managers Still Make
IObit Driver Booster Pro Crack Latest Version Download
Module 1 - Introduction to Generative AI.pdf
OpenAssetIO Virtual Town Hall - August 2025.pdf
UNIT II: Software design, software .pptx
KidsTale AI Review - Create Magical Kids’ Story Videos in 2 Minutes.pdf
IDM Crack Activation Key 2025 Free Download
SAP Business AI_L1 Overview_EXTERNAL.pptx
Comprehensive Guide to Digital Image Processing Concepts and Applications
Presentation - Summer Internship at Samatrix.io_template_2.pptx
Phoenix Marketo User Group: Building Nurtures that Work for Your Audience. An...
Hexagone difital twin solution in the desgining
4K Video Downloader Crack + License Key 2025
Enscape 3D Crack + With 2025 Activation Key free
Difference Between Website and Web Application.pdf
C language slides for c programming book by ANSI
ESDS_SAP Application Cloud Offerings.pptx
Greedy best-first search algorithm always selects the path which appears best...
Software Development Company - swapdigit | Best Mobile App Development In India
How to Set Realistic Project Milestones and Deadlines

Learning graphql .Net

Editor's Notes

  • #4: Talk about nested query
  • #19: The Schema first approach relies upon the GraphQL schema language, coding conventions, and tries to provide a minimal amount of syntax. It is the easiest to get started though it does not currently support some advanced scenarios. The GraphType first approach can be more verbose, but gives you access to all of the provided properties of your GraphType's and Schema. You are required to use inheritance to leverage that functionality.
  • #22: MaxComplexity & FieldImpact For example if I have 3 tables with 100, 120 and 98 rows and I know I will be querying the first table twice as much then a good estimation for avgImpact would be 105.
  • #24: https://graphql-dotnet.github.io/docs/getting-started/authorization
  • #25: Define ObjectGraphType Define InputObjectGraphType Define query or mutation Type Define schema and register them with resolve
  • #27: MaxComplexity & FieldImpact For example if I have 3 tables with 100, 120 and 98 rows and I know I will be querying the first table twice as much then a good estimation for avgImpact would be 105.
  • #28: Finding real problem get you grounded about features to prioritize Think like client and see who will be using it.