Mô tả

Welcome to Spring Boot REST APIs Ultimate course!

My name is Nam Ha Minh. I’m the instructor who will lead you through this course. You know, I’ve been programming with Java for nearly 2 decades, since the days of Java 1.3 and 1.4. I’m a professional Java developer certified by Oracle.

I’m very glad that you’re interested in this course. Let me introduce exactly what this course is about, and everything you need to know before enrolling.


  • What this Course is Exactly About:

This is a comprehensive course about REST API development, from understanding REST API Core Concepts to API Design Best Practices and Implementing APIs with Spring Boot; from Securing APIs to Testing APIs; from Documenting APIs to Deploying APIs.

This course is also about development of different kinds of REST Client applications such as Web app (Spring MVC), React app, desktop app (Java Swing) and mobile app (Android).


  • What You Will Learn to Build:

Through this comprehensive course, you will learn to build Weather APIs Service using Spring Boot with MySQL Database.

Then you will learn to build a React application for managing weather data.

Use Spring MVC to build a web application for managing users and API clients.

And another Spring MVC application for a Weather Forecast website.

Then you will learn to build a sample mobile app that displays embedded weather information, using Android.

Finally, you will learn to build a Java desktop application with Swing, that demonstrates updating weather data from a weather station.

The React app, Weather Forecast website, Android app and Swing app are consumers of the Weather APIs Service.


  • Key technologies will be used:

You'll learn how to use the following technologies (not all mentioned): 

- Back-end technologies: Spring framework, Spring Boot, Spring Data JPA, Spring Data REST, Spring REST Docs, Spring HATEOAS

- Thymeleaf as server-side template engine for Spring MVC application

- FasterXML/jackson Java JSON library

- Security technologies: Spring Security, Spring Security OAuth2, JSON Web Token (JWT) for Java and Android

- Database technologies:  MySQL Relational database, Hibernate ORM framework

- Testing technologies: mockito - mocking framework for unit tests, JUnit testing framework

- Redis as caching solution

- Bucket4J as API Rate Limit solution

- REST Clients: React for Single Page Application, Android for mobile app, Java Swing for desktop app

- Front-end technologies: HTML, CSS, Javascript, Bootstrap, jQuery.


  • Main software programs & tools will be used:

To develop the applications in this course, you will need to use (not all mentioned): Java Development Kit (JDK), Spring Tool Suite IDE, MySQL Community server, MySQL Workbench, curl, Postman, Redis, Docker, Swagger online editor and codegen, Git, Heroku CLI, AWS CLI.


  • What you will get by finishing this course:

By completing this course, you will get comprehensive REST API expertise in Analysis, Design, Implement, Test, Secure, Deploy & Best Practices. In other words, you master all the techniques involved in REST API development.

You will also get Full-stack development expertise in Backend (Java and Spring), Frontend (React, Javascript, HTML, CSS), Database (MySQL), Deployment (Heroku, AWS), Version Control (Git).

More importantly, when you complete learning this course, I believe you will get Job–ready Skills, such as Technical competence, Self management, Accuracy and Attention to Detail, Professionalism that your employer will love, and Problem Solving skill which is important to succeed in your career.

And finally, you will get a Certificate of Completion issued by Udemy, which is a great thing you can add to your Resume.

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

Understanding Core Concepts of REST APIs

Understanding REST API Design Best Practices

Design REST APIs with OpenAPI and Swagger

Writing Code to Implement REST APIs with Spring Boot

Handling Error for REST APIs

Validate REST API Requests

Testing REST APIs (Unit Tests, Integration Tests)

Securing REST APIs with Spring Security, JWT and OAuth2

Documenting REST APIs with Spring REST Docs

Deploying REST APIs on Cloud (Heroku, AWS, Google Cloud, Azure)

Caching REST APIs with Redis as Cache Server

API Rate Limiting with Bucket4J

Build Different Kinds of REST Clients (Spring MVC, React, Android and Java Swing)

Yêu cầu

  • Basic knowledge in web development with HTML, Javascript and CSS
  • Basic knowledge in Java Spring framework and Spring Boot
  • Basic knowledge in Java programming (Java core and Java web)
  • No prior knowledge in REST API required. I will teach you REST API development from the beginning

Nội dung khoá học

24 sections

Introduction

1 lectures
Introduction to this Course
08:25

Software Installation

8 lectures
Notes about Software Installation
01:36
Install Java Development Kit
06:45
Install Spring Tool Suite IDE
05:28
Install curl and Postman
09:01
Install Apache Maven
04:44
Install Git
02:20
Install MySQL Server
05:49
Install MySQL Workbench
03:39

REST API Fundamentals

8 lectures
What is an API?
04:22
What is REST API?
05:32
Why is REST API?
05:03
Understand URIs
04:50
HTTP Methods and Status Codes
06:49
Understand HATEOAS
06:20
Hypertext Application Language (HAL)
02:39
Link Relation
02:56

Code Your First REST APIs

3 lectures
Code Your First REST API
15:55
Code Your Second REST API
29:26
Code Your Third REST API
29:22

REST API Design Best Practices

8 lectures
Resources Naming Convention
09:38
HTTP Methods and Status Codes
01:48
Use Hypermedia (HATEOAS)
02:12
APIs Versioning
01:48
Secure APIs
00:49
Document APIs
04:22
APIs Caching
02:51
APIs Rate Limit
04:55

Overview of the Sample System

5 lectures
Overview of Weather Forecast API System
03:42
Primary Workflows of API Usage
03:08
Overview of Sample Applications
05:50
Overview of Database Design
03:21
Overview of System Architecture
03:04

Design Our REST APIs

12 lectures
What are OpenAPI and Swagger
10:02
Explore a Sample APIs Design with Swagger
15:58
Design an Example API with Swagger
19:23
Generate Server Code for Example API
21:46
Check Embedded Docs for Example API
04:00
Generate Client Code for Example API
15:03
Package and Run Example API on Localhost
07:53
Deploy Example API on Heroku
09:44
API Design Exercise
03:42
Design Weather Forecast APIs (Version 1)
08:12
When Using Swagger
01:33
Key Notes 1
02:07

Project Setup

5 lectures
Create Multi-Module Maven Project
14:51
Create MySQL Database
01:27
Configure Data Source Properties
04:53
Get Geolocation Database
07:31
Steps to Implement an API
02:21

Implement Location APIs

9 lectures
Create Location Entity Class
11:01
Code Add Location API
17:59
Unit Testing for REST API
32:42
Integration Testing with curl and Postman
12:02
Code List Locations API
27:17
Code Get Location API
24:32
Code Update Location API
26:45
Code Delete Location API
20:38
Key Notes 2
02:51

Error Handling for REST APIs

2 lectures
Why Customizing Default Error Response
05:04
Code Global Exception Handler
18:49

Validate REST API Requests

5 lectures
Fundamentals of API Request Validation
11:44
Customize Error Response
17:38
Validate Request Body
21:10
Validate Path Parameters
10:45
Validate Request Parameters
08:39

Implement Realtime Weather APIs

9 lectures
Understand Requirement of Realtime Weather APIs
10:21
Code Repository Layer for Realtime Weather APIs
24:48
Code Geolocation Service
24:35
Get IP Address of Client
15:16
Get Realtime Weather by IP Address
40:55
Use DTO and Model Mapper
23:54
Get Realtime Weather by Location Code
07:29
Code Update Realtime Weather API
55:14
Key Notes 3
02:39

Implement Hourly Forecast APIs

12 lectures
Understand Requirement of Hourly Forecast APIs
07:56
Code Repository Layer for Hourly Forecast APIs
11:20
Code Unit Tests for Repository Layer
20:56
Get Hourly Forecast by IP Address
30:06
Tests for Get Hourly Forecast by IP Address
44:57
Get Hourly Forecast by Location Code
05:22
Code Update Hourly Forecast API - Part 1
16:55
Code Update Hourly Forecast API - Part 2
32:45
Code Update Hourly Forecast API - Part 3
36:38
Update Location APIs
09:16
Code Refactor 1
23:02
Key Notes 4
08:26

Prepare for Deployment

2 lectures
Build & Run WeatherApiService App on Localhost
12:05
Embed Geolocation Database in JAR File
09:40

Deployment on Heroku

5 lectures
Understand Basics of Heroku
08:56
Create a Heroku Account
02:16
Install Heroku CLI
03:17
Deploy WeatherApiService App with MySQL
38:43
Deploy WeatherApiService App with PostgreSQL
32:56

Deployment on AWS Elastic Beanstalk

6 lectures
Overview of AWS
07:19
Overview of AWS Elastic Beanstalk
07:06
Elastic Beanstalk Key Concepts
08:08
Create an AWS Account
01:24
Create IAM Users
01:25
Deploy WeatherApiService App with MySQL
51:33

Consume REST APIs using Spring RestTemplate

12 lectures
Overview of Spring RestTemplate
08:18
Create a REST Client Project
03:50
Consume List Locations API
15:22
Consume Add Location API
13:36
Consume Get Location API
09:53
Consume Update Location API
12:10
Consume Delete Location API
11:19
Exercise: Consume Realtime Weather APIs
05:36
Consume Get Hourly Weather API
22:55
Consume Update Hourly Weather API
16:38
Use RestTemplate in Spring MVC Application
25:10
Key Notes 5
01:50

Implement Daily Forecast APIs

7 lectures
Understand Requirement of Daily Forecast APIs
08:42
Code Repository Layer for Daily Forecast APIs
11:56
Code Unit Tests for Repository Layer
16:45
Exercise: Implement Get Daily Forecast by IP Address
09:02
Exercise: Implement Get Daily Forecast by Location Code
05:05
Exercise: Implement Update Daily Forecast API
17:56
Code Refactor 2
09:16

Implement Full Weather APIs

9 lectures
Understand Requirement of Full Weather APIs
09:35
Code Get Full Weather by IP Address
34:54
Integration Tests for Get Full Weather by IP Address
10:12
Using JSON Custom Filter
06:04
Exercise: Implement Get Full Weather by Location Code
04:44
Implement Update Full Weather API
49:42
Integration Tests for Update Full Weather API
28:12
Code Refactor 3
23:25
Key Notes 6
05:11

Build Hypermedia-Driven APIs

12 lectures
Why Hypermedia-Driven APIs?
08:55
Review HATEOAS, HAL and Link Relation
05:35
Update API Design Document (Version 1.1)
19:00
Understand Spring HATEOAS
10:28
Add Links for Base URI
31:28
Configure Jackson Object Mapper
15:26
Add Links for Realtime Weather APIs
30:15
Exercise: Add Links for Hourly Forecast APIs
06:34
Add Links for Daily Forecast APIs
18:22
Add Links for Full Weather Forecast APIs
18:23
Test APIs using Web Browser
09:10
Key Notes 7
02:32

Implement Pagination, Sort and Filter for APIs

16 lectures
Understand Updates for Location APIs
09:06
Update API Design Document (Version 1.2)
07:43
Implement Pagination and Sort for List Locations API
42:01
Validate Pagination and Sort Query Parameters
20:49
Add Page Metadata to Response
19:16
Add Pagination Links to Response
21:32
Exercise: Code Unit Tests for Pagination Links
07:31
Understand JPA Criteria API
17:38
Implement Pagination, Sort and Filter using JPA Criteria API
35:43
Get Total Row Count
15:10
Complete Coding of List Locations API
20:35
Integration Tests for List Locations API
16:15
Exercise: Add Links for Other Location APIs
07:40
Implement Advanced Sort
25:43
Code Refactor 4
17:47
Key Notes 8
03:02

Understand API Security

6 lectures
API Security Basics
08:18
Security Requirements for Weather APIs
03:49
A Brief Overview of OAuth 2.0
08:10
A Quick Introduction to JWT
07:48
Security Workflow of Weather APIs
09:02
Describe Security in API Design
20:07

Secure APIs with HTTP Basic

5 lectures
Understand HTTP Basic Authentication
03:27
Secure Hello World API with In-memory Users
21:47
Code Unit Tests for HTTP Basic Authentication
10:29
Secure Unit Conversion API with Database Users
35:22
Key Notes 9
02:22

Secure Student APIs with OAuth2 and JWT

16 lectures
Security Requirements for Student APIs
06:28
Why Using Custom Filter and Third-party JWT Library
06:10
Update Project to Use MySQL Database
03:46
Code Repository Layer for Student APIs
11:53
Update Controller Layer for Student APIs
05:20
Code JWT Utility Class
40:08
Update User Repository for Authentication
11:45
Configure User Authentication
16:31
Configure Spring Security Filter
07:21
Implement Get Access Token API
40:50
Test Get Access Token API with Postman
13:21
Implement Custom Security Filter
49:38
Test List Student API with Postman
04:17
Test JWT Authentication with Spring Security Test
28:48
Configure Authorization with Method Security
12:52
Test Remaining Student APIs with Postman
08:24

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