
Explore GraphQL concepts—queries, mutations, and schema—in a Spring Boot course with a clear structure, compare GraphQL to REST, and learn to use Project Lombok with source code and resources.
Discover how to use the Altair GraphQL client Chrome extension to execute GraphQL queries, mirroring Postman for REST APIs, and prepare to install the tool before the next lecture.
Learn that GraphQL is a query language for APIs with flexible field selection, contrasting it with REST, and use query and mutation to fetch and modify data in Spring Boot.
Explore how GraphQL query fetches data from the backend, compare it to REST API's http get, and use the GraphQL query resolver in a Spring Boot Java app.
Learn how GraphQL mutation alters data by creating, updating, or deleting records, and how to implement a mutation resolver interface in a Spring Boot application.
Learn how GraphQL schema defines a contract between consumer and provider by specifying visible fields and data types in a separate .graphql file, enabling flexible responses via query and mutation.
Discover project Lombok for Java, learn how it reduces boilerplate by generating getters, setters, and constructors, and download jar from the site for use in Spring Boot and Spring Framework.
Explore project Lombok basics using a simple Spring Boot app with REST APIs, showing a hardcoded student controller and JSON response, and explain Lombok works with any Java application.
Install Project Lombok by downloading the Lombok jar, configure the ide path, add the Lombok dependency to pom.xml for spring boot application, restart the ide, and run mvn clean install.
Explore how Lombok generates getters and setters for specific fields with @Getter and @Setter, and how @Data is equivalent to getters, setters, toString, equals, and hashCode for all fields.
Explore using project Lombok to create all arguments constructors and no args constructors, resolving conflicts with explicit constructors. Validate with Maven builds in Spring Boot apps to avoid compilation errors.
Learn how to build a Spring Boot REST API for a student management service with MySQL, and compare it to GraphQL implementations.
Configure a Spring Boot app to use GraphQL by adding GraphQL dependencies in pom.xml, including the Spring Boot starter and GraphQL Java Tools, with an optional UI dependency.
Create your first GraphQL query in a Spring Boot app by implementing GraphQLQueryResolver, marking the class as a component, and using a single url for all http post calls.
Define and wire the first GraphQL query by creating a schema file on the classpath and mapping its return type, such as string or a student response, to the query.
Launch your first GraphQL application with Spring Boot and run the first query using the built-in GraphQL interface at /graphql, then view the JSON response.
learn to run a GraphQL query with the Altair plugin, view generated documentation, and send http post requests to a Spring Boot GraphQL endpoint on localhost:8080.
Learn how to pass input data to GraphQL queries by using two string inputs (first name and last name) in the schema and query to return a full name.
Learn to pass a json input object to a GraphQL query using a sample request model with first name and last name, updating the schema and docs.
Enforce non-null first name validation in a GraphQL schema for a Java Spring Boot app by marking the input field with an exclamation, rejecting null values across all queries.
Configure the default GraphQL UI and application endpoints by setting two properties in application.properties, enabling custom paths such as /app-ui and /student-service without code changes.
Connect a GraphQL app with Spring Boot to a MySQL database using Spring Data JPA, mapping student, address (1-to-1) and student-subject (1-to-many) relationships, and expose queries via GraphQL resolver.
Implement a GraphQL query in a Spring Boot app to fetch a student by ID using Spring Data JPA and MySQL, converting the entity to a student response for clients.
Learn how GraphQL queries enable flexible responses by letting consumers select only the fields they need, with a schema exposing attributes and input guiding what is returned.
Explore populating a list of subject responses in GraphQL with a Spring Boot app, modeling subject response fields in the schema, and why resolvers optimize data fetching for consumers.
Create the first GraphQL resolver for the student response model in a Spring Boot app, enabling lazy loading with Spring Data JPA to fetch related subject details by student ID.
Explore how the GraphQL resolver automatically fetches learning subjects for a student, using a public method and on-demand data loading in a Spring Boot setup.
Explore how GraphQL resolvers in Spring Boot decide when to use get methods for fields like full name and learning subjects, improving performance through field-level business logic.
Explore nodes and edges in a graph by traversing from a student node to a subject node using the student id, and understand edges as the paths linking related data.
Apply a data filter on the student-to-subject edge in GraphQL with Spring Boot to return only requested subjects, such as Java or MySQL, for a given student via the resolver.
Filter learning subjects by subject name in a GraphQL query using an input enum in a Java Spring Boot setup, applied in the student subjects resolver with Java, MySQL, MongoDB.
Learn to filter GraphQL edge data in a Spring Boot app by applying a subject name filter via enum, retrieving only Java, MySQL, or MongoDB details for specific students.
Explore how to enhance a GraphQL API with a subject name filter enum that supports all and multiple values, enabling fetching all subjects for each student in a marksheet workflow.
Create a GraphQL mutation in a Spring Boot application to add a student, including address and subject data, by persisting through repositories and returning the new student.
Create a mutation input schema for a GraphQL operation in a separate mutation file, reuse existing student response schema, and define create subject request with subject name and max obtain.
Learn how to execute the first GraphQL mutation in a spring boot app by creating a student with learning subjects, wiring input models, and retrieving a full student response.
Switch to Windows 10 and use latest versions of Spring Boot, Spring Tool Suite, MySQL server, and MySQL Workbench, while GraphQL with Spring Boot content remains the same.
Update your Spring Boot application to the latest version 2.4.5, keeping dependencies, source code, and data unchanged, then run a GraphQL query to fetch the student with ID 1.
Explore Heroku, a Salesforce-owned platform as a service, and learn how to deploy a Spring Boot Java application on its free tier with optional credit or debit card verification.
Sign up for a free Heroku account, verify your email, set a password, and log in to access the dashboard and prepare to deploy a Java Spring Boot app.
Verify your Heroku account with a debit or credit card to access the course's MySQL deployment and explore the free trial limits.
download and install git on your local machine from the official website, selecting your operating system; verify installation by running git --version or opening git gui or git bash.
Learn how to download and install the Heroku CLI to deploy a Spring Boot application to Heroku, note the git prerequisite, OS-specific steps, and verify installation.
Create a new Heroku application by logging in and selecting create app with a unique name and region. Note the generated url and upcoming deployment of the Spring Boot app.
Learn how to add a free MySQL database on Heroku, retrieve connection details, and connect your local MySQL Workbench to the cloud database for your GraphQL with Spring Boot app.
Upload your local MySQL database to the cloud by exporting the spring schema and importing address, then subject, then student tables in Heroku MySQL, and verify the data.
Learn to log in to your Heroku account via the CLI, authenticate in the browser, and install the Java plugin for deploying Java applications.
Deploy your spring boot app as a jar to Heroku, build with mvn clean install, configure cloud mysql details in application.properties, and set server.port from the port environment variable.
Learn to monitor a spring boot app on Heroku by viewing real-time logs in the browser and tailing logs with the Heroku CLI, including practical examples.
Explore practical Heroku application settings, including managing add-ons and databases, backing up data, configuring the application name and ssl certificate, adding a custom domain, maintenance mode, and deletion.
***** Some Reviews From Students *****
best course on graphql. learned a lot.
learning in simple words and explained very well. thanks
A very good introductory course to learn GraphQL from scratch and implementing the backend in Java using Spring.
Very informative. Easy concept explanations and equally well practicals.
In this course you are going to learn to GraphQL With Spring Boot and Spring Data JPA.
Now a days Spring framework is widely used among Java Developers and specifically Spring Boot is in high demand to develop REST APIs.
The problem with REST APIs is that it is giving fixed response in the format of the JSON ( JavaScript Object Notation ). So there comes GraphQL in picture. GraphQL provides flexibility that in request itself we can ask which fields we want in response and it populates only those fields.
In simple words we can say select * query in SQL database is like REST API while ability to provide columns (fields) with query and to return only those fields is GraphQL.
GraphQL boosts performance of your application and it gives consumers flexibility that which attributes they want in response. REST API has problem of under and over fetching of data because of fixed structure of response and GraphQL eliminates this by providing only those attributes which are asked in the request.
In this course you will learn GraphQL in detail with Spring Boot and Spring Data JPA using MySQL database. In this course you will learn :-
What is GraphQL ?
Difference between GraphQL and REST API
What is Query in GraphQL ?
What is Mutation in GraphQL ?
What is Schema in GraphQL ?
What is Resolver in GraphQL ?
What is Edge in GraphQL ?
In this course you will learn to create GraphQL Query and Mutation with Spring Boot. You will learn to create Resolver with Edge in Spring Boot.
Project lombok is used to avoid boiler plate code in your Java Application. In this course you learn how to use Project Lombok with Spring Boot Application and you will learn -
How to have getter methods for Java Class using @Getter Annotation.
How to have setter methods for Java Class using @Setter Annotation.
How to have constructor for Java Class using @NoArgsConstructor and @AllArgsConstructor Annotations.
After finishing the course you will be able write GraphQL queries as shown in Promo video and also you will be able to deploy your GraphQL-Spring Boot Application to Heroku which is Cloud Platform.
Lets start journey of GraphQL with Spring Boot and Spring Data JPA.
Course Topics & Lectures :-
Introduction
Introduction
Altair GraphQL Client
Introduction To GraphQL
What is GraphQL ?
What is GraphQL Query ?
What is GraphQL Mutation ?
What is GraphQL Schema ?
GraphQL vs REST API
Project Lombok With Spring Boot
What is Lombok and Why We Need Lombok ?
Spring Boot App For Lombok
Lombok Installation
Getters and Setters With Lombok
Constructors With Lombok
Getting Started With GraphQL
Spring Boot App with REST APIs
Setting Up Spring Boot App with GraphQL
Writing First Query with GraphQL
Defining GraphQL Schema
Run Query with GraphQL and Spring Boot
Running GraphQL Query with AltAir plugin
GraphQL Query
GraphQL with Input Data
JSON Inputs For GraphQL Query
Validations with GraphQL Schema
Change URL Of Application
GraphQL Query With Spring Data JPA
GraphQL App with Spring Data JPA
GraphQL Query with Response Model Class
Flexibility Of Response with GraphQL Query
Get List Of Data with GraphQL Query
GraphQL Resolver
What is Resolver in GraphQL ?
Creating First Resolver with GraphQL
Getting Data with GraphQL Resolver
More with GraphQL Resolver
GraphQL Edges
What is Node and Edge in GraphQL ?
Why Need Data Filter On Edge ?
Data Filter with GraphQL Edge
Get Filtered Data with GraphQL Edge
Get All Data with GraphQL Edge and Filter
GraphQL Mutation
Create Mutation with GraphQL
Mutation Input Schema with GraphQL
Running First Mutation with GraphQL
More with GraphQL Query
Enum As Input For Query
Enum In GraphQL Schema
Query Data By Enum
GraphQL-Spring Boot Deployment to Heroku (Cloud Platform)
Introduction To Heroku
Create Account On Heroku
Verify Account On Heroku
Download and Install Git
Download & Install Heroku CLI
Create Heroku Application
Getting MySQL Database on Heroku
Uploading data From Local MySQL to Heroku MySQL (SQL Dumping)
Heroku CLI Login
Deploy Spring Boot App On Heroku
Check Logs For Heroku Application
Heroku Application Settings
GraphQL Variable
What is GraphQL Variable ?
GraphQL Variable with Query
GraphQL Variable with Mutation
Multiple GraphQL Variables
GraphQL Client with Spring Boot
Updating GraphQL App with Latest Versions
Introduction To GraphQL Client
Create GraphQL Client Spring Boot App
GraphQL Client To Call GraphQL Query
GraphQL Client with Variable
GraphQL Client To Call GraphQL Mutation