
Learn GraphQL fundamentals and build a GraphQL backend with Java Spring Boot and PostgreSQL, guided step by step by instructor Timotius Pamungkas.
Maximize value from this course by learning in focused blocks, pausing to understand and replicate code, and using accurate subtitles and Q&A, Stack Overflow, or Google when needed.
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
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
Create Spring Boot 3 project for working with graphql
Unit test a GraphQL Java Spring Boot 3 app using Netflix DGS, adding apache commons lang3, and validating oneHello and allHellos queries with DgsQueryExecutor and json path extractions.
show how dgs handles nested data with spring boot 3, modeling book, author, and address, splitting the schema, and using a fake data source with an optional author filter.
Perform book unit testing by building queries with the BooksGraphqlQuery helper class, autowiring the DGS query executor, and validating results with faker data.
Explain why GraphQL cannot overload queries by name, and implement a single mobile apps query with dynamic filters via MobileAppFilter and a data resolver.
Document GraphQL fields using triple double quotes in the schema, as shown with the pet example. Restart the server and view the new documentation in Altair, reflected on the client.
Join multiple data types into a single union type to power a search across hello and book; use union syntax and typename with inline fragments in a dgs data resolver.
Learn to implement GraphQL mutations with Netflix DGS by adding, updating, and deleting Hello elements, using HelloInput type and return values.
Learn how to implement GraphQL mutations for user creation, login, problem and solution creation, and voting, including input types, responses, and a user activation workflow.
Define a service layer to execute business logic for GraphQL, implement a problem query service using JPA repositories, map results to GraphQL types, and demonstrate sorting and error handling.
Learn to use the Netflix framework to gracefully handle graphql errors by throwing DgsEntityNotFoundException for empty results, and implement ProblemzAuthenticationException with a graphql exception handler and ProblemzErrorDetail.
Open solutioncommandservice and add sinks to emit new events for bad and good votes, then update the solution data resolver to return graphql solutions as flux.
Implement a mutation resolver for user administration to create and activate users, persist via a JPA repository, hash passwords with a salt and UUID, and map input for Altair testing.
Learn how to build a Java GraphQL client with Spring RestTemplate to call a Star Wars GraphQL service by sending a query and variables in the http body.
Create a starwars rest client with spring rest template and jackson mapper to query a graphql service, mapping planets, starships, and films, and test with spring boot.
Develop a Java app using the Apollo GraphQL client to query all books and books by released, building the client with a server endpoint and validating results with JUnit tests.
Explore advanced graphql through hands-on, real-world tasks across theory, task, guided challenge, and full solution lectures, with downloadable source code for a car dealer backend using postgresql.
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