Mô tả

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

Bạn sẽ học được gì

What is GraphQL and how it stands with REST API

When to use GraphQL

Design GraphQL schema

Easily create GraphQL using Netflix GraphQL (DGS) Framework

Build GraphQL backend using Java Spring Boot + PostgreSQL

Build GraphQL resolver : query, mutation, subscription (real-time update)

Using GraphQL client (Altair, Rest, Netflix, Apollo) for query, mutation, & subscription

All source codes available to download

Yêu cầu

  • Basic Java programming is a must
  • Basic knowledge on REST API
  • Java Spring knowledgeis suggested, but not mandatory

Nội dung khoá học

32 sections

Introduction

3 lectures
Welcome to This Course
00:59
Course Structure & Coverage
00:58
How To Get Maximum Value From This Course
05:56

First Encounter with GraphQL

7 lectures
What is Graph?
02:41
What is QL?
01:59
Introducing GraphQL
02:40
Why GraphQL - REST API "Problems"
11:07
GraphQL vs REST API
06:30
GraphQL "Problems"
03:32
GraphQL Client
10:20

Basic GraphQL Theory

5 lectures
GraphQL Schema - Quick Peek
02:59
GraphQL Query - Quick Peek
04:07
GraphQL Pagination - Quick Peek
04:43
GraphQL Query - The Basic
17:37
GraphQL Schema - The Basic
10:56

Basic Hands On with GraphQL & Java Spring

18 lectures
Video Update for Spring Boot 3
00:43
Setup Java Spring & GraphQL
06:44
Hello GraphQL
10:56
Hello Unit Testing
06:23
Query Nested Data
10:16
Data Resolver From Gradle Plugin
10:01
Book - Unit Testing
08:27
GraphQL "Overloading"
13:57
ID Data Type
02:03
Extended Java Scalar Library
07:11
Enumeration
02:34
Interface
11:01
Schema Documentation
01:23
Union
05:39
Mutation
11:37
HttpHeaders
05:09
Subscription
06:25
Summary for This Section
00:49

Create GraphQL Backend with Database - The Schema

5 lectures
What We Will Create
01:15
Core Object Types
11:07
Relationship & Query
05:16
Mutation
12:02
Subscription
00:53

Create GraphQL Backend with Database - The Java Code

13 lectures
Coding Preparation
03:47
Underlying Data (Spring JPA)
13:46
Bean Mapping
13:41
GraphQL Components - Skeleton
14:38
Query Resolver - Problem
12:12
Query Resolver - Item Search
08:09
Data Resolver - User Login
12:30
Exception Handling - Theory
02:10
Exception Handling - Code
09:22
Mutation Resolver - Problem
08:28
Mutation Resolver - Solution
13:48
Subscription Resolver - Problem
04:07
Subscription Resolver - Solution
03:35

Securing GraphQL Operations

3 lectures
Mutation Resolver - User Administration
09:47
Securing User Administration 1
05:55
Securing User Administration 2
04:57

GraphQL Java Client

7 lectures
Java Client Preparation
10:26
Java Client 1
14:23
Java Client 2
11:49
Java Client Using Apollo
09:00
Apollo - Query
05:26
Apollo - Mutation
07:12
Apollo - Subscription
03:43

GraphQL Practical Project

1 lectures
What (and How) We Will Learn
02:20

Define Graph Model

4 lectures
Theory : Define Graph Model
07:23
Task : Define Graph Model
04:01
Guided Challenge : Define Graph Model
00:31
Full Solution : Define Graph Model
10:17

Create GraphQL Projects

4 lectures
Theory : Create GraphQL Projects
00:54
Task : Create GraphQL Projects
00:15
Guided Challenge : Create GraphQL Projects
00:22
Full Solution : Create GraphQL Projects
07:05

Create GraphQL Schema

4 lectures
Theory : Create GraphQL Schema
01:05
Task : Create GraphQL Schema
00:07
Guided Challenge : Create GraphQL Schema
00:15
Full Solution: Create GraphQL Schema
09:34

Create Database Schema

4 lectures
Theory : Create Database Schema
01:43
Task : Create Database Schema
00:06
Guided Challenge : Create Database Schema
00:17
Full Solution : Create Database Schema
05:36

Inject Initial Data

4 lectures
Theory : Inject Initial Data
03:54
Task : Inject Initial Data
00:16
Guided Challenge : Inject Initial Data
00:31
Full Solution : Inject Initial Data
08:22

GraphQL Query - Product

4 lectures
Theory : GraphQL Query - Product
03:38
Task : GraphQL Query - Product
00:26
Guided Challenge : GraphQL Query - Product
00:27
Full Solution : GraphQL Query - Product
31:05

Database N+1

4 lectures
Theory : Database N+1
02:18
Task : Database N+1
00:03
Guided Challenge : Database N+1
00:05
Full Solution : Database N+1
03:24

GraphQL Query - More Input

4 lectures
Theory : GraphQL Query - More Input
01:14
Task : GraphQL Query - More Input
00:15
Guided Challenge : GraphQL Query - More Input
00:16
Full Solution : GraphQL Query - More Input
08:04

Sorting

4 lectures
Theory : Sorting
00:32
Task : Sorting
00:19
Guided Challenge : Sorting
00:06
Full Solution : Sorting
04:09

Pagination (Relay Spec)

4 lectures
Theory : Pagination (Relay Spec)
03:38
Task : Pagination (Relay Spec)
00:03
Guided Challenge : Pagination (Relay Spec)
00:05
Full Solution : Pagination (Relay Spec)
04:27

Pagination (Page & Size)

5 lectures
Theory : Pagination (Page & Size)
02:18
Task : Pagination (Page & Size)
00:06
Guided Challenge : Pagination (Page & Size)
00:06
Full Solution : Pagination (Page & Size)
06:33
Tips : Pagination
00:54

Product - Instrumentation

3 lectures
Theory : Product - Instrumentation
01:56
Task : Product - Instrumentation
00:02
Guided Challenge : Product - Instrumentation
00:02

Customer & Address

4 lectures
Theory : Customer & Address
03:46
Task : Customer & Address
00:28
Guided Challenge : Customer & Address
00:24
Full Solution : Customer & Address
26:20

Input Validation

4 lectures
Theory : Input Validation
01:10
Task : Input Validation
00:08
Guided Challenge : Input Validation
00:05
Full Solution : Input Validation
02:26

Validation via Instrumentation

4 lectures
Theory : Validation via Instrumentation
01:24
Task : Validation via Instrumentation
00:04
Guided Challenge : Validation via Instrumentation
00:10
Full Solution : Validation via Instrumentation
04:46

File Upload - Customer Document

5 lectures
Theory : File Upload - Customer Document
00:42
Task : File Upload - Customer Document
00:17
Guided Challenge : File Upload - Customer Document
00:23
Full Solution : File Upload - Customer Document
06:29
Tip : Upload Client & Multiple Files
00:30

Update Existing Customer Data

4 lectures
Theory : Update Existing Customer Data
00:37
Task : Update Existing Customer Data
00:03
Guided Challenge : Update Existing Customer Data
00:08
Full Solution : Update Existing Customer Data
03:41

Multiple GraphQL Services

4 lectures
Theory : Multiple GraphQL Services
03:13
Task : Multiple GraphQL Services
00:11
Guided Challenge : Multiple GraphQL Services
00:06
Full Solution : Multiple GraphQL Services
15:09

Load Data From Other GraphQL Service

5 lectures
Theory : Load Data From Other GraphQL Service
02:49
Task : Load Data From Other GraphQL Service
00:10
Guided Challenge : Load Data From Other GraphQL Service
00:18
Full Solution : Load Data From Other GraphQL Service
17:05
Tips : Load Data From Other GraphQL Service
00:29

GraphQL N+1

4 lectures
Theory : GraphQL N+1
02:38
Task : GraphQL N+1
00:03
Guided Challenge : GraphQL N+1
00:05
Full Solution : GraphQL N+1
04:36

Data Loader for Non GraphQL Service

5 lectures
Optional : Data Loader for Non GraphQL
00:08
Theory : Data Loader for Non GraphQL Service
01:01
Task : Data Loader for Non GraphQL Service
00:07
Guided Challenge : Data Loader for Non GraphQL Service
00:08
Full Solution : Data Loader for Non GraphQL Service
05:17

GraphQL Federation

4 lectures
Theory : GraphQL Federation
04:24
Task : GraphQL Federation
00:19
Guided Challenge : GraphQL Federation
00:14
Full Solution : GraphQL Federation
15:38

Resources & References

3 lectures
Thank You
00:37
Source Code & Scripts
00:27
Bonus Lecture & Discount Codes
05:14

Đánh giá của học viên

Chưa có đánh giá
Course Rating
5
0%
4
0%
3
0%
2
0%
1
0%

Bình luận khách hàng

Viết Bình Luận

Bạn đánh giá khoá học này thế nào?

image

Đăng ký get khoá học Udemy - Unica - Gitiho giá chỉ 50k!

Get khoá học giá rẻ ngay trước khi bị fix.