We may earn an affiliate commission when you visit our partners.
Timotius Pamungkas

Latest Update

With more than 4 hours update of the latest and greatest tech updates, and a real-life project experience, you'll feel like you've been transported to a parallel universe where GraphQL rules all. You'll learn how to:

Read more

Latest Update

With more than 4 hours update of the latest and greatest tech updates, and a real-life project experience, you'll feel like you've been transported to a parallel universe where GraphQL rules all. You'll learn how to:

  • Define GraphQL models like a boss

  • Craft database schemas with the precision of a samurai

  • Control multiple GraphQL services with the flick of a wrist

  • Tame database migration with Flyway, like a wild stallion

  • Build queries and mutations that would make Linus Torvalds nod in approval

  • Tackle the N+1 problem like a superhero

  • Use dynamic filtering, sorting, and pagination on GraphQL queries like a magician

  • Trace and limit complexities with GraphQL instrumentation like a detective

  • Validate inputs with custom validations for business rules like a judge

  • Upload files like a pro

  • Update existing data with mutations like a ninja

  • Combine multiple GraphQL services like a superhero team

  • Load data from other GraphQL and non-GraphQL services like a wizard

  • Solve the GraphQL N+1 problem with data loaders like a detective

  • Implement Apollo federation for combining multiple GraphQL services like a king

Don't miss out on the opportunity to level up your skills, impress your coworkers, and become the office GraphQL guru. Enroll now and get ready for the ride of a lifetime.

What Is Graph?

I am graph, I go to work on graph. It's everywhere, really. I have a sister. Both of us has same parents. Our mom has parents, which is our grandparents from mom's side. And so our dad, which means we have grandparents from dad's side. And together, this is he "myself" graph. Tweet something on twitter, and it's a graph. See: 8 people likes the tweet, and 3 people retweet my original tweet, so this is the graph.

What Is QL?

QL in GraphQL is shorthand for query language. If it seems familiar, you are right. SQL, or the structured query language, has the same shorthand. SQL used to read and manipulate data in database. During SQL read, we can select multiple columns as we need, from one table, or several connected tables, usually through foreign key. The same way with GraphQL. Like SQL, a single GraphQL query can return multiple columns from connected data. We can also use GraphQL to change or remove data.

So What is GraphQL?

GraphQL is a query language which uses graph concept. GraphQL is also a runtime that needs to be implemented on the backend, so the frontend application can use it as the query language. 

To implement graphql, we need runtime frameworks, which each programming language has their own implementation. GraphQL itself is a specification, means whatever the framework, it must comply to the graphql specification, so the user can use GraphQL without even need to know what the GraphQL backend language is.

GraphQL is a service, where we need two items for creating Graphql backend. First, is the schema, which represents GraphQL structure. It is like database tables and relationships. Second is the resolver, which is logic for each field on schema to represents data. A resolver tells how and where to access certain field. For example, whether to get field's data from database, or text file.

Some says GraphQL is "REST API killer", "The next REST API", et cetera.

But what is GraphQL and why facebook, netflix, github, and some large names shift their technology to GraphQL? Is it true that GraphQL is "REST API killer"? Or the contrary, it is "REST API friend"?

In this course, we will learn the GraphQL fundamentals, including data types, schemas, and graphql operations. We will learn using Java Spring Boot and Netflix DGS framework to easily build GraphQL Java application. In this course, we will not only learn theories, but do a hands-on coding using PostgreSQL as database.

Complete source code is provided for the course, so you will always stay up-to-date and have reference in case you are having difficulty (believe me, GraphQL will not that hard). If you are new to GraphQL, or if you've been trying to find out how to implement your own GraphQL server (especally using Java), but sometimes feel like you still don't quite understand, then this GraphQL course is absolutely suitable for you.

In this course, we will learn:

  • What is GraphQL

  • GraphQL schema, data types, and relationships

  • Custom GraphQL data types

  • Creating your own GraphQL backend using Java Spring Boot and PostgreSQL database

  • We will learn using Netflix GraphQL framework (Netflix DGS)

  • Securing GraphQL endpoint

  • and manymore

If you ever writing REST API before, this course will expand your knowledge and see how easy you can implement GraphQL fundamental. It's not very different with REST API implementation, but at some aspects, it's more powerful.

Take the course and experience yourself.

Spring Boot Version

This course uses Spring Boot version 3.x. Most of the code will still works with Spring Boot version 2.x, but for best learning experience, it is reccomended that you use latest Spring Boot version 3.x

Enroll now

What's inside

Syllabus

Introduction
Welcome to This Course
Course Structure & Coverage
How To Get Maximum Value From This Course
Read more
First Encounter with GraphQL

You cannot learn about graphql without first knowing about graph. This lesson will explain simple concept of graph.

Ever heard about SQL? The QL there is acronym for Query Language. GraphQL is Graph Query Language. Now that you've learned about graph, learn about the QL (Query Language)

Great, you know Graph. You know QL (Query language). Let's put them together and we get GraphQL. See what is actually a GraphQL in this lesson

Why GraphQL for API? Why not just using REST API, like most microservice nowadays do? What is the benefit of GraphQL vs REST API? In here, we will see the problems we might encounter when using REST API

Now the match : GraphQL vs REST API. Why do we need GraphQL, and how GraphQL can solve REST API problems?

GraphQL is helpful, solving some REST API problems. But GraphQL itself is not perfect. REST API even might have some benefit compared to GraphQL. In this lesson, we will see the other side of GraphQL : the problems with GraphQL

A quick look of GraphQL client to works with : Altair GraphQL client, and Postman

Basic GraphQL Theory

GraphQL schema is the heart & brain of GraphQL. You can do documentation, autocomplete & validation from schema, and it is mandatory.

A quick peek of using GraphQL query, the structure of query, how to execute, and get data that you need

GraphQL Pagination - Quick Peek
GraphQL Query - The Basic
GraphQL Schema - The Basic
Basic Hands On with GraphQL & Java Spring
Video Update for Spring Boot 3

Create Spring Boot 3 project for working with graphql

Hello GraphQL
Hello Unit Testing
Query Nested Data
Data Resolver From Gradle Plugin
Book - Unit Testing
GraphQL "Overloading"
ID Data Type
Extended Java Scalar Library
Enumeration
Interface
Schema Documentation
Union
Mutation
HttpHeaders
Subscription
Summary for This Section
Create GraphQL Backend with Database - The Schema
What We Will Create
Core Object Types
Relationship & Query
Create GraphQL Backend with Database - The Java Code
Coding Preparation
Underlying Data (Spring JPA)
Bean Mapping
GraphQL Components - Skeleton
Query Resolver - Problem
Query Resolver - Item Search
Data Resolver - User Login
Exception Handling - Theory
Exception Handling - Code
Mutation Resolver - Problem
Mutation Resolver - Solution
Subscription Resolver - Problem
Subscription Resolver - Solution
Securing GraphQL Operations
Mutation Resolver - User Administration
Securing User Administration 1
Securing User Administration 2
GraphQL Java Client
Java Client Preparation
Java Client 1
Java Client 2
Java Client Using Apollo
Apollo - Query
Apollo - Mutation
Apollo - Subscription
GraphQL Practical Project
What (and How) We Will Learn
Define Graph Model
Theory : Define Graph Model
Task : Define Graph Model
Guided Challenge : Define Graph Model
Full Solution : Define Graph Model
Create GraphQL Projects
Theory : Create GraphQL Projects
Task : Create GraphQL Projects
Guided Challenge : Create GraphQL Projects
Full Solution : Create GraphQL Projects
Create GraphQL Schema

How to create GraphQL schema froum User interface tools, using arrows app

Task : Create GraphQL Schema
Guided Challenge : Create GraphQL Schema
Full Solution: Create GraphQL Schema
Create Database Schema
Theory : Create Database Schema
Task : Create Database Schema
Guided Challenge : Create Database Schema
Full Solution : Create Database Schema
Inject Initial Data

We will use Spring with flyway data migration to inject initial data. You will learn how to convert data from business user into SQL script using flyway for spring boot 3

Task : Inject Initial Data
Guided Challenge : Inject Initial Data
Full Solution : Inject Initial Data
GraphQL Query - Product
Theory : GraphQL Query - Product
Task : GraphQL Query - Product
Guided Challenge : GraphQL Query - Product

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Uses Java Spring Boot 3 and Netflix DGS, which are valuable tools for Java developers building GraphQL applications
Covers Apollo Federation, which is useful for combining multiple GraphQL services in a microservices architecture
Explores securing GraphQL endpoints, which is an important aspect of building production-ready APIs
Teaches how to tackle the N+1 problem with data loaders, which is a common performance bottleneck in GraphQL applications
Requires Spring Boot 3.x, so learners may need to upgrade their existing projects or start with a new project
Uses PostgreSQL as a database, so learners should have some familiarity with relational databases

Save this course

Save Code GraphQL Application : Java Spring Boot 3 & Netflix DGS to your list so you can find it easily later:
Save

Reviews summary

Java spring boot graphql dgs

The course, Code GraphQL Application : Java Spring Boot 3 & Netflix DGS, provides a hands-on approach to building GraphQL servers. It dives into GraphQL fundamentals, schema design, and database integration using Java Spring Boot 3 and the Netflix DGS framework. Learners work through implementing queries, mutations, subscriptions, tackling the N+1 problem, and covering advanced topics like filtering, sorting, pagination, and Apollo federation within a practical project context.
Focuses on practical coding approach.
"do a hands-on coding using PostgreSQL as database"
"We will not only learn theories, but do a hands-on coding"
"Complete source code is provided for the course, so you will always stay up-to-date"
Covers wide range of GraphQL features.
"Define GraphQL models"
"Build queries and mutations that would make Linus Torvalds nod in approval"
"Solve the GraphQL N+1 problem with data loaders"
"Use dynamic filtering, sorting, and pagination"
"Implement Apollo federation for combining multiple GraphQL services"
Uses Spring Boot 3 and Netflix DGS.
"using Java Spring Boot and Netflix DGS framework"
"uses Spring Boot version 3.x"
"We will learn using Netflix GraphQL framework (Netflix DGS)"

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Code GraphQL Application : Java Spring Boot 3 & Netflix DGS with these activities:
Review Spring Boot Fundamentals
Reinforce your understanding of Spring Boot concepts, which are essential for building GraphQL applications with Netflix DGS.
Browse courses on Spring Boot 3
Show steps
  • Review Spring Boot annotations and configurations.
  • Practice building simple REST APIs with Spring Boot.
  • Familiarize yourself with dependency injection.
Review 'GraphQL in Action'
Gain a deeper understanding of GraphQL principles and best practices to enhance your ability to work with Netflix DGS.
View GraphQL in Action on Amazon
Show steps
  • Read the chapters on schema design and query optimization.
  • Experiment with the code examples provided in the book.
  • Compare the book's approach with the Netflix DGS framework.
Build a Simple GraphQL API
Solidify your understanding of GraphQL and Spring Boot by building a small API from scratch.
Show steps
  • Define a simple schema with a few queries and mutations.
  • Implement resolvers using Spring Boot and Netflix DGS.
  • Test the API using a GraphQL client like Altair.
  • Add basic authentication to the API.
Four other activities
Expand to see all activities and additional details
Show all seven activities
GraphQL Query Optimization Exercises
Improve your ability to write efficient GraphQL queries and resolve the N+1 problem.
Show steps
  • Analyze existing GraphQL queries for potential performance bottlenecks.
  • Implement data loaders to optimize data fetching.
  • Measure the performance of queries before and after optimization.
Write a Blog Post on Netflix DGS
Deepen your understanding of Netflix DGS by explaining its features and benefits to others.
Show steps
  • Choose a specific aspect of Netflix DGS to focus on.
  • Research the topic thoroughly and gather relevant information.
  • Write a clear and concise blog post with code examples.
  • Publish the blog post on a platform like Medium or Dev.to.
Review 'Production Ready GraphQL'
Learn best practices for deploying and maintaining GraphQL APIs in a production environment.
Show steps
  • Read the chapters on security and performance optimization.
  • Implement the monitoring and logging strategies discussed in the book.
  • Apply the book's recommendations to your GraphQL projects.
Contribute to a GraphQL Open Source Project
Gain practical experience and contribute to the GraphQL community by working on an open-source project.
Show steps
  • Find a GraphQL open-source project on GitHub.
  • Identify a bug or feature to work on.
  • Submit a pull request with your changes.
  • Participate in code reviews and discussions.

Career center

Learners who complete Code GraphQL Application : Java Spring Boot 3 & Netflix DGS will develop knowledge and skills that may be useful to these careers:
Backend Developer
A Backend Developer builds and maintains the server-side logic and databases that power applications. This course helps build a foundation in GraphQL, a query language for APIs, which is especially relevant as more companies adopt GraphQL for their backend services. Backend developers will be able to leverage the skills learned in this course to create efficient and flexible APIs using Java Spring Boot and Netflix DGS framework. The course covers essential topics such as defining GraphQL models, crafting database schemas, and implementing resolvers, all of which enable a backend developer to build robust GraphQL applications.
API Developer
An API Developer designs, develops, and maintains application programming interfaces that enable different software systems to communicate with each other. This course can be instrumental in understanding and implementing GraphQL APIs. The course focuses on building GraphQL backends using Java Spring Boot and Netflix DGS, offering hands-on experience with creating schemas, defining data types, and implementing resolvers. For those who want to become API developers, this course provides the knowledge and practical skills to construct efficient and modern APIs using GraphQL, which addresses many limitations of traditional REST APIs.
Java Developer
A Java Developer designs, develops, and debugs Java-based applications. This course helps Java developers expand their skill set by introducing them to GraphQL using the Java Spring Boot framework. This course provides a strong foundation in building GraphQL backends, offering hands-on experience in creating schemas, data types, and resolvers. The course also covers advanced topics like securing GraphQL endpoints and using Java clients. Java developers can use this course to leverage GraphQL in their projects, making them more versatile and capable of building modern, efficient applications.
Software Engineer
Software Engineers are involved in the design, development, testing, and maintenance of software systems. This course helps software engineers by providing hands on experience with GraphQL using Java Spring Boot. A software engineer can enhance their skills with the development and implementation of GraphQL APIs. The course focuses on hands-on coding, and also covers essential topics such as defining GraphQL models, creating database schemas, and implementing resolvers. The course also helps to equip software engineers with the knowledge to build robust and scalable applications.
Full-Stack Developer
A Full Stack Developer works on both the front-end and back-end of applications, requiring a broad range of skills. This course may be useful for full stack developers as it provides them with the backend skills necessary to implement GraphQL APIs. Focusing on Java Spring Boot and Netflix DGS, the course covers essential topics such as defining GraphQL models, creating database schemas, and implementing resolvers. Full stack developers will benefit from learning how to build efficient and flexible APIs, allowing them to create seamless user experiences.
Solutions Architect
A Solutions Architect designs and oversees the implementation of software solutions to meet business needs. This course may be useful for solutions architects as it helps them understand the capabilities of GraphQL and how it can be integrated into existing systems. The course covers building GraphQL backends using Java Spring Boot and Netflix DGS, providing a clear understanding of schemas, data types, and resolvers. Solutions architects can use this knowledge to design efficient and scalable APIs, improving the overall architecture of their applications.
Application Architect
Application Architects design and oversee the structure of applications to ensure they meet performance, scalability, and security requirements. This course helps application architects evaluate and integrate GraphQL into their application designs. Focusing on Java Spring Boot and Netflix DGS, the course provides insights into building GraphQL backends, defining schemas, and implementing resolvers. Application architects can use this knowledge to design efficient and flexible APIs, which can significantly improve application performance and scalability.
System Designer
A System Designer is responsible for designing and implementing complex systems, ensuring they meet specific requirements and performance criteria. This course helps system designers understand how GraphQL can be integrated into their system architectures. System designers will see how GraphQL backends are built using Java Spring Boot and Netflix DGS. The course covers essential topics such as defining schemas, creating data types, and implementing resolvers. System designers can use this knowledge to design efficient and scalable systems that leverage the benefits of GraphQL.
Technical Lead
A Technical Lead is responsible for guiding a team of developers and making key technical decisions. This course may be useful for technical leads as they would be able to evaluate and implement GraphQL in their projects. The course covers building GraphQL backends using Java Spring Boot and Netflix DGS, providing a comprehensive understanding of schemas, data types, and resolvers. Technical leads can use this knowledge to guide their teams in building efficient and modern APIs, ensuring the success of their software projects.
Data Engineer
Data Engineers build and maintain the infrastructure needed for data storage, processing, and analysis. This course may be useful for data engineers since it focuses on building GraphQL backends using technologies like Java Spring Boot and PostgreSQL. The course covers essential topics such as defining GraphQL models, creating database schemas, and implementing resolvers, all of which enable efficient data retrieval and manipulation. Data Engineers can leverage GraphQL to improve data accessibility and streamline data workflows.
Database Administrator
Database Administrators are responsible for managing and maintaining databases, ensuring data integrity and availability. This course may be useful for database administrators as it covers database schema creation and management within the context of GraphQL using PostgreSQL. This course provides insight into how databases interact with GraphQL APIs, specifically using Java Spring Boot. The course can help database administrators design and optimize database schemas for GraphQL applications leading to improved performance and data accessibility.
Mobile Application Developer
A Mobile Application Developer creates applications for mobile devices, focusing on user experience and performance. This course may be useful for mobile application developers who need to consume data from a GraphQL backend. Focusing on Java Spring Boot, the course covers building GraphQL APIs and securing endpoints, which are essential for mobile app development. Mobile application developers can learn how to efficiently retrieve data from GraphQL servers which improves the performance and user experience of their apps.
Data Scientist
Data Scientists analyze data to extract meaningful insights and develop data-driven solutions. This course may provide a better understanding of how data is structured and accessed through GraphQL APIs. Knowing how to define GraphQL models and schemas can help Data Scientists more easily retrieve and manipulate data for their analysis. Data scientists can use the course to learn how to interact with GraphQL backends, enabling more efficient data retrieval for their analytical workflows.
Test Automation Engineer
Test Automation Engineers design and implement automated tests to ensure software quality. This course may be useful for test automation engineers who are working with GraphQL APIs. This course covers building GraphQL backends using Java Spring Boot and Netflix DGS. Test automation engineers can test GraphQL APIs. Understanding how GraphQL APIs are structured and implemented helps in creating effective and efficient automated tests.
Technical Writer
A Technical Writer creates documentation for software and hardware products, ensuring users can understand and use the products effectively. This course may be useful for technical writers working on projects that use GraphQL. The course covers essential topics such as defining GraphQL models, creating schemas, and implementing resolvers. It can help technical writers accurately document GraphQL APIs and their usage, and will equip them to develop more informative and helpful documentation for developers and users.

Reading list

We've selected two books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Code GraphQL Application : Java Spring Boot 3 & Netflix DGS.
Provides a comprehensive guide to GraphQL, covering its fundamentals, schema design, and implementation strategies. It offers practical examples and real-world use cases, making it an excellent resource for understanding GraphQL concepts in depth. The book helps bridge the gap between theoretical knowledge and practical application, enhancing your ability to build robust GraphQL APIs. It is particularly useful for understanding the underlying principles behind frameworks like Netflix DGS.
Focuses on building and deploying GraphQL APIs in production environments. It covers topics such as security, performance, monitoring, and scalability. It is particularly useful for understanding how to build robust and reliable GraphQL services. This book is more valuable as additional reading than it is as a current reference. It provides a broader perspective on the challenges and best practices of running GraphQL in production.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Similar courses are unavailable at this time. Please try again later.
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2025 OpenCourser