Mô tả

Welcome to the World's Best Online Course for learn and building Production Ready REST API for Expense Manager API. There is a lot packed into this course, Let's see what's included in this course -


NOTE: I will be updating the course when there is any changes made in the newer versions of Spring Boot.


NEW UPDATES [31/01/2023]: I Added New Videos on

- Upgrading to Spring Boot v3.0.2

- Spring Security without using WebSecurityConfigurerAdpater


NEW UPDATES [25/07/2022]: I Added New Videos on

- Create REST APIs with Spring Boot and MongoDB

- Create Simple Todo REST API with all the CRUD operations using MongoRepository

- Create finder methods using MongoRepository

- Connect Spring Boot Application to MongoDB Atlas (Production database)

- Deploy the Application to Heroku


NEW UPDATES [20/05/2022]: I Added New Videos on

- Dockerize the Java Program

- Dockerize the Spring Boot Application

- Dockerize the Spring Boot Application with MySQL Database


Updating the course with new content

COMING SOON


What is Spring Boot?

Spring is one of the most popular framework for building Enterprise applications

Spring Boot is a tool to create Spring based applications quickly and easily with zero configuration.


What is Spring Data JPA?

Spring Data JPA is Java Persistence API for Object Mapping, Hibernate is the default implementation for JPA.


What is Spring Security?

Spring Security is separate project, created by spring team. We can use Spring Security to secure the application.


What is JWT?

JWT is a JSON Web Token, which is used to Secure the REST APIs using token based mechanism


We will start from absolute scratch -

  • Understanding the REST APIs/RESTful Web Service

  • Understanding the basics of Spring Boot such as, Spring Boot Starters, SpringBootApplication annotation, Spring Boot project structure

  • You will learn the different ways of creating Spring Boot project

  • You will learn to create the REST end points

  • You will connect Spring Boot application to MySQL database

  • You will learn to perform the database operations using Data JPA

  • You will learn validating the REST APIs

  • You will learn handling the exceptions, custom exceptions, global exceptions and many more

  • You will learn adding Pagination and Sorting to REST APIs

  • You will learn creating REST end points for Users

  • You will add Spring Security to the application

  • You will understand the Spring Security default configuration

  • You will learn configuring multiple users using In-memory authentication

  • You will learn creating custom user details and validate user against MySQL database

  • You will learn the Basic Authentication

  • You will create REST end point for Login

  • You will learn reading the records only for the logged in user

  • You will learn Mapping two entities using OneToMany annotation

  • You will learn using Lombok annotations

  • You will learn adding JWT to the application

  • You will JWT token based authentication

  • You will learn the advance features of Postman REST client

  • You will learn setup the automation script inside the Postman to test APIs

  • You will learn basic Git commands to push the code to Github repository

  • You will learn deploying the application to the Production server (Heroku)

  • You will learn dockerize the Spring Boot Application with MySQL database

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

Yêu cầu

Nội dung khoá học

26 sections

Demo of the application and Source code

3 lectures
Demo of the final API (Expense Manager API)
11:52
Additional Resource
00:19
Source Code and PDFs
00:12

Basics of RESTful Web Services/REST API

2 lectures
Understand the REST API/RESTful Web Service
08:33
Understand the application architecture
04:49

Setting up the development environment

5 lectures
Download and Install Java JDK
02:39
Download and Install the development IDEs
01:51
Download and Install MySQL server and MySQL Workbench
03:12
Download and Install Postman REST client
01:04
Download and Install Git
01:43

Basics of Spring Boot

6 lectures
Different ways of creating Spring Boot project
01:54
Create Spring Boot project using Spring Initializer
04:42
Create Spring Boot project in STS
03:03
Understand the Spring Boot project structure
02:43
Understand Spring Boot starters
03:40
Understand @SpringBootApplication annotation
03:52

Create REST end points for Expense Module

23 lectures
Create a REST end point for Expenses
05:24
Add all the dependencies to the application
04:26
Create database and table for Expense
05:09
Configure the datasource
03:19
Fetch the list of expenses from the Database
05:32
Write a code to fetch list of expenses from Database
09:19
Create database tables using JPA
04:58
Test the APIs in Postman and Organise the APIs in Postman
04:12
Run the project in command prompt using Maven
03:07
Add the base URL to the API
02:17
Understand passing a parameter in the URL using Path Variable
03:55
Write a code to pass parameter in the URL using Path Variable
03:21
Understand passing a parameter in URL using Query strings
03:27
Write a code to pass parameter in the URL using Query strings
03:52
Retrieve the expense by its id from database
06:33
Delete the expense by its id from database
04:36
Map the HTTP request body to Java object
06:42
Save the expense details to the database
04:26
Update the expense details to the database
04:13
Create a REST end point to update the expense details
09:50
Save the timestamps to the database
07:07
Understanding the HTTP Response Status codes
03:50
Add the HTTP Response Status codes to all REST end points
04:47

Adding Pagination and Sorting for Expenses Module

3 lectures
Understanding the Pagination and Sorting
04:02
Add pagination to the Expenses
07:12
Add Sorting to the Expenses
03:41

Handling Exceptions

7 lectures
Create a custom Exception for Expenses
04:52
Write a code for Creating Custom Exception
08:14
Refactor the code for Custom Exception
03:57
Handle Bad Request Exception
03:09
Write a code for Handling Bad Request Exception
02:55
Handle Internal Server Error Exception
02:00
Write a code for Handling Internal Server Error
02:53

Add Validations to the REST APIs

5 lectures
Understanding the Hibernate Validator and its Annotations
03:23
Add validations to the Expense entity
00:58
Write a code for Adding validations to Expense entity
04:04
Customize the error response
05:45
Add validations to all other fields
05:28

Filtering the Records

6 lectures
Development steps for filtering the expenses by category
04:02
Creating a REST end point for filtering the expenses by its category
08:05
Development steps for filtering the expenses by its name
03:37
Creating a REST end point for filtering expenses by its name
06:46
Development steps for filtering the expenses by its dates
05:35
Creating a REST end point for filtering the expenses by its dates
11:01

Create REST end points for User module

11 lectures
Development steps for creating a new user
05:36
Write a code for creating a new user
16:21
Add validations to the register api
05:36
Create a custom exception for existing email
09:40
Development steps for reading the user information
02:27
Create a REST end point to read user information
04:50
Development steps for updating the user infomation
02:40
Create a REST end point to update the user information
07:38
Update the record to the database
01:46
Development steps for deleting the user information
02:03
Create a REST end point to delete the user information
04:21

Configure Spring Security to the Application

14 lectures
Add spring security to the application
06:17
Quick Update on WebSecurityConfigurerAdapter
01:50
Understand the spring security control flow
04:45
Development steps for customizing the HTTP requests
05:48
Write a code for customizing the HTTP requests
08:05
Development steps for customizing the multiple users
02:17
Write a code for customizing the multiple users
02:35
Development steps for customizing the users (Second approach)
02:02
Write a code for customizing the multiple users (Second approach)
04:41
Development steps for creating custom user details service
04:19
Write a code for creating custom user details
07:45
Encode the password using BCryptPasswordEncoder
05:50
Development steps for creating login REST end poing
03:11
Write a code for creating login REST end point
07:49

Setup Mapping between Expenses and Users

9 lectures
Understanding the mapping between User and Expense
03:52
Write a code for mapping between Expense and User
03:17
Get the logged in user details
05:29
Add the user details to expense object just before saving to the database
05:06
Read all the expenses for logged in user
04:08
Read single expense for logged in user
05:24
Delete and Update expense for logged in user
03:06
Update the finder methods for logged in user
05:08
Update the REST end points for user module
07:19

Add JWT to the application

8 lectures
Overview of JWT and Its control flow
08:12
Development steps of adding JWT to the application
01:25
Refactor the Login API
08:58
Generate the JWT token
05:51
Update the Jwt util class
05:31
Create a custom filter
06:03
Validate the Jwt token
08:52
Register the custom filter inside the config file
07:48

Upgrading to Spring Boot 3.0.3

4 lectures
Update the Java version and Pom.xml
05:04
Fixing the Errors
02:39
Update the Web Security Configuration
06:07
Test the API
06:49

Advance features of Postman

3 lectures
Inheriting JWT token from Parent
07:21
Adding JWT token automatically to all requests
08:48
Finding the Postman documentation
00:39

Deploying the application to Heroku

6 lectures
Heroku Update!
00:34
Create repository in Github and push the code
06:14
Create app inside heroku and provision the postgresql database
03:09
Deploy the app to Heroku
05:09
Test the production app
03:12
Connect to Heroku PostgreSQL database from Local machine
06:40

Deploying the application to AWS

4 lectures
Create RDS Service inside AWS
05:57
Connect to AWS MySQL database from MySQL workbench
03:20
Configure the datasource and create a executable Jar
02:33
Deploy the Spring Boot application to Elastic Beanstalk
06:00

Versioning the REST APIs

3 lectures
Using Context Path
04:45
Using the open REST end point
05:26
Deploy the application changes to AWS
07:09

Introduction to Docker

2 lectures
What is Docker?
05:33
Download and Install Docker
02:12

Dockerize the Java Program

4 lectures
Create Simple Java Program and Write the Dockerfile
06:21
Build the Docker image and Start the container
04:05
Removing the container and image
02:17
Push the Docker image to Docker hub
06:27

Dockerize the Spring Boot Application

2 lectures
Demo of the Spring Boot Application
03:46
Dockerize the Spring Boot Application
10:11

Dockerize Spring Boot application with MySQL database

3 lectures
Dockerize the REST API - Part 1
09:21
Dockerize the REST API - Part 2
07:31
Steps to Dockerize the Spring Boot application with MySQL database
00:31

Create REST API with Spring Boot and MongoDB (NoSQL database)

18 lectures
Create Spring Boot Project
05:42
Create model class and repository
04:53
Create a REST end point to retrieve all the documents
08:55
Create a REST end point to create new document
06:21
Create a REST end point to retrieve single document
05:22
Create a REST end point to update the existing document
07:00
Create a REST end point to delete the document
05:21
Configure validation
08:38
Create custom exception
05:07
Create service interface and service implementation
05:50
Refactor the controller for saving the document
06:25
Refactor retrieving the list of documents
04:55
Refactor retrieving the single document
06:07
Refactor updating the existing document
11:50
Refactor deleting the document
05:33
Setting up the production database
06:17
Connecting to MongoDB Atlas using MongoDB compass
04:39
Deploy the spring boot app to Heroku cloud
07:21

Spring Boot REST API Basics [Bonus Content]

48 lectures
Spring Boot few other concepts
00:24
Create Spring Boot Project
08:10
Create a Controller
11:25
Add dependencies to the spring boot project
03:40
Pass data from client to server using @PathVariable annotation
05:16
Pass data from client to server using @RequestParam annotation
06:36
Organize APIs in Postman
07:18
Map the JSON data to Java object
08:25
HTTP PUT method
04:21
Read property file values using @Value annotation
05:35
Change the server port
02:25
Create executable Jar
03:52
Jackson JsonIgnore and JsonProperty
04:14
Create Service
05:59
Change the Base URL
04:16
Create database and table
04:38
Configure the datasource
04:16
Create an Entity class
07:22
Fetch the records from database
09:15
Save the records to the database
05:45
Get a single record by its id
04:16
Delete a record from database
03:13
Update the record from the database
05:00
Create database tables by JPA
04:53
Create timestamps by JPA
06:05
Column annotation is mandatory?
02:11
Add validation to the REST API
08:54
Customize the validation message
08:41
NotNull vs NotEmpty vs NotBlank annotations
05:26
Change the HTTP status code
09:47
JPA query method or finder method Part 1
08:30
JPA query method or finder method Part 2
08:10
JPA query method or finder method Part 3
06:26
Data JPA Pagination
09:01
Data JPA Sorting
03:25
Data JPA Pagination and Sorting
03:31
JPQL select query in Data JPA
09:50
JPQL delete query in Data JPA
10:46
One to One mapping in Data JPA
12:23
Join query in Data JPA
08:49
JPQL Join query in Data JPA
03:15
One to Many mapping in Data JPA
09:53
One to One Bi-directional in Data JPA
07:24
One to Many Bi-directional in Data JPA
06:16
JPA Native SQL query
04:53
@NamedNativeQuery annotation
06:56
@NamedQuery annotation
05:06
Document APIs using Swagger
08:09

Written Articles on Spring Boot, Spring Security and Data JPA [Bonus Content]

1 lectures
Checkout the Spring Boot 100+ written articles
00:12

My contact details

1 lectures
Connect with me on social media
00:08

Đá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.