Autoplay
Autocomplete
Previous Lesson
Complete and Continue
REST With Spring: The Certification Class
Module 0 - Before you Start
Course Introduction
Mindset and How to Go Through the Course Material
How I keep the course updated
The Project in your IDE
Upgrade to the new, improved "Rest with Spring Boot" course
Troubleshooting and How to Ask for Support
Module 1: The Basics of REST with Spring (~ 2.5 hours)
Lesson 1: The Anatomy of a REST API (11:42)
Lesson 2: The User Management Project: A Full API (9:14)
Lesson 3: Application Startup (text-only)
Lesson 4: Properties and Project Settings (12:06)
Lesson 5: The Web Configuration (10:18)
Module 2: REST and HTTP Semantics (~ 4.5 hours)
Lesson 1: Exception Handling and Sane HTTP Status Codes - Part 1 (10:22)
Lesson 1: Exception Handling and Sane HTTP Status Codes - Part 2 (12:24)
Lesson 2: The Basics of Input Validation (7:26)
Lesson 3: Good URI Practices (11:48)
Lesson 4: Leverage HTTP Verbs and Semantics (16:52)
Lesson 5: Support both XML and JSON (13:42)
Lesson 6 - The Lifecycle of a Request (17:45)
Module 3: Simple Security for REST (~ 3 hours)
Lesson 1: Simple Spring Security for the API (13:40)
Lesson 2: Global URL vs Method Level Authorization - Part 1 (8:57)
Lesson 2: Global URL vs Method Level Authorization - Part 2 (8:59)
Lesson 3: Understanding Cookies and The Session (7:51)
Lesson 4: Certificates and HTTPS for Tomcat (6:53)
Lesson 5: The Topology of Roles and Privileges (9:10)
Module 4: Consuming the API from Angular (~ 2 hours)
Lesson 1: The UI Project and Basic REST from AngularJS (11:23)
Lesson 2: Dealing with CORS - part 1 (9:29)
Lesson 2: Dealing with CORS - part 2 (7:03)
Lesson 3: Working with OAuth2 and Tokens (JWT) from the front-end (same as Module 6 - Lesson 5) (13:50)
Module 5: Testing the API (~ 3.5 hours)
Lesson 1: The First Live API Tests - Introducing rest-assured - part 1 (8:34)
Lesson 1: The First Live API Tests - Introducing rest-assured - part 2 (6:46)
Lesson 2: How To Build a Client for the API - part 1 (8:33)
Lesson 2: How To Build a Client for the API - part 2 (9:17)
Lesson 3: How To Test HTTP Semantics (9:45)
Lesson 4: A Good Base API Tests for Any Resource (11:43)
Lesson 5: Contract Testing - A Special Kind Of Test (14:22)
Module 6: Advanced API Security: OAuth2 & JWT (~ 3 hours)
Module Overview
Lesson 1: How OAuth2 Works for REST - part 1 (7:07)
Lesson 1: How OAuth2 Works for REST - part 2 (5:03)
Lesson 2: Set Up OAuth2 with Spring Security (legacy stack) - part 1 (9:02)
Lesson 2: Set Up OAuth2 with Spring Security (legacy stack) - part 2 (9:12)
Lesson 3: Tokens, OAuth2 and JWT (legacy stack) (9:30)
Lesson 4: Refreshing a Token (legacy stack) (9:17)
Lesson 5: How To Do OAuth from the Front End (same as Module 4 - Lesson 3) (13:50)
Module 7: Document, Discover and Evolve the REST API (~ 3.5 hours)
Lesson 1: Document the API with Swagger (10:29)
Lesson 2: The Basics of HATEOAS - part 1 (6:48)
Lesson 2: The Basics of HATEOAS - part 2 (6:50)
Lesson 3: Advanced Scenarios with Spring HATEOAS (10:04)
Lesson 4: How To Evolve the API without Breaking Clients - part 1 (7:19)
Lesson 4: How To Evolve the API without Breaking Clients - part 2 (8:34)
Lesson 4: How To Evolve the API without Breaking Clients - part 3 (3:38)
Lesson 5: Decouple the Controller from Entities - part 1 (4:43)
Lesson 5: Decouple the Controller from Entities - part 2 (5:59)
Lesson 5: Decouple the Controller from Entities - part 3 (6:34)
Module 8: Monitoring and API Metrics (~ 3 hours)
Lesson 1: Fundamentals of Monitoring with Boot (9:33)
Lesson 2: Custom Metrics for the API (11:00)
Lesson 3: Monitoring Data over JMX - part 1 (9:45)
Lesson 3: Monitoring Data over JMX - part 2 (11:19)
Lesson 4: Displaying Metrics over HTTP (10:49)
Lesson 5: Production Grade Tools for Monitoring (10:06)
Module 9: DevOps: CI and CD Pipelines, Deployment (~ 3 hours)
Lesson 1: Setting Up Jenkins and The First Job - part 1 (6:38)
Lesson 1: Setting Up Jenkins and The First Job - part 2 (7:47)
Lesson 2: A Simple Jenkins Pipeline From Scratch - part 1 (6:08)
Lesson 2: A Simple Jenkins Pipeline From Scratch - part 2 (9:13)
Lesson 3: Remote Deployment for the API (7:26)
Lesson 4: From Continuous Integration to Continuous Deployment - part 1 (10:56)
Lesson 4: From Continuous Integration to Continuous Deployment - part 2 (5:51)
Lesson 5: Load Balance the REST API on EC2 (9:41)
Module 10: Advanced API Tactics (~ 2.5 hours)
Lesson 1: ETags in REST (13:03)
Lesson 2: A Simple API Rate Limiting Implementation (8:25)
Lesson 3: Binary Data Formats in a Spring REST API (7:12)
Lesson 4: REST, Async and Long Running Requests - part 1 (12:58)
Lesson 4: REST, Async and Long Running Requests - part 2 (6:56)
Module 11: A Reactive REST API (~ 2.5 hours)
Lesson 1: Moving Past the Servlet - Going Reactive (11:07)
Lesson 2: How to Build a Reactive REST API - part 1 (11:18)
Lesson 2: How to Build a Reactive REST API - part 2 (10:35)
Lesson 3: Understanding the new WebClient - part 1 (8:35)
Lesson 3: Understanding the new WebClient - part 2 (6:40)
Module 12: New in Spring (~ 2.5 hours)
Lesson 1: Using the New Bean Validation 2.0 (12:40)
Lesson 2: Using Kotlin to Build the API (part 1) (8:18)
Lesson 2: Using Kotlin to Build the API (part 2) (12:35)
Lesson 3 - Functional Bean Registration (3:26)
Lesson 4: New Indexing Alternative to Classpath Scanning (8:09)
Module 13: New in Spring MVC (~ 2 hours)
Lesson 1: External Base Path for Controllers - Part 1 (7:38)
Lesson 1: External Base Path for Controllers - Part 2 (6:28)
Lesson 2: What's Possible with the ResponseStatusException (10:52)
Lesson 3: JSON Binding API, the Jackson Alternative (10:21)
Lesson 4: Advanced Web Path Matching (8:50)
Module 14: Spring Boot (~ 2 hours)
Lesson 1: Intro to Spring Boot (7:29)
Lesson 2: Using Spring Boot (8:13)
Lesson 3: Boot Internals - Auto-Configuration and Beyond - part 1 (5:40)
Lesson 3: Boot Internals - Auto-Configuration and Beyond - part 2 (9:00)
Lesson 4: Testing in Spring Boot (10:48)
Keep Learning
Get Access to the new "Rest With Spring Boot" Course
Upgrade to Baeldung All Access - Certification
Troubleshooting and How to Ask for Support
Lesson content locked
If you're already enrolled,
you'll need to login
.
Enroll in Course to Unlock