Overview
Yesterday, I finally lunched the Intermediate Class of my REST With Spring course.
First off, for everyone that has written in with great feedback, thank you.
I incorporated all of that insight into the material and added a few extra modules focusing on some things that I wasn’t originally planning to cover. I’m also continuing to do so and sorting all of your requests and ideas into a bonus course that’s I’m going to write and produce after the official 9 courses are out – so definitely keep that coming.
>> The (new) Intermediate Class – Courses and Modules
Here are the new courses and modules of the class:
Course 4: Consuming the API from AngularJS (42 minutes)
- Module 0: Introduction
- Module 1: The UI Project and Basic REST from AngularJS (11 minutes)
- Module 2: Dealing with CORS – part 1 (10 minutes)
- Module 2: Dealing with CORS – part 2 (7 minutes)
- Module 3: Working with OAuth2 and Tokens from AngularJS (14 minutes)
Course 5: Testing the API (56 minutes)
- Module 1: The First Live API Tests – Introducing rest-assured – part 1 (9 minutes)
- Module 1: The First Live API Tests – Introducing rest-assured – part 2 (7 minutes)
- Module 2: How To Build a Client for the API – part 1 (9 minutes)
- Module 2: How To Build a Client for the API – part 2 (9 minutes)
- Module 3: How To Test HTTP Semantics (10 minutes)
- Module 4: A Good Base API Tests for Any Resource (12 minutes)
- Module 5: Contract Testing – A Special Kind Of Test (Bonus Material – To Be Released)
Course 6: Advanced API Security (48 minutes)
- Module 1: How OAuth2 Works for REST – part 1 (7 minutes)
- Module 1: How OAuth2 Works for REST – part 2 (5 minutes)
- Module 2: Set Up OAuth2 with Spring Security – part 1 (9 minutes)
- Module 2: Set Up OAuth2 with Spring Security – part 2 (9 minutes)
- Module 3: Tokens, OAuth2 and JWT (9 minutes)
- Module 4: Refresh the Token (9 minutes)
- Module 5: How To Do OAuth from the Front End (go to Course 4 – Module 3)
>> The Starter Class – Courses and Modules
And the structure of the first 3 courses:
Course 1: The Basics of REST with Spring (60 minutes)
- Module 0: Introduction
- Module 1: The Anatomy of a REST API (12 minutes)
- Module 2: Bootstrap a New Project (5 minutes)
- Module 3: The User Management project (10 minutes)
- Module 4: Application Startup (11 minutes)
- Module 5: Properties and Project Settings (12 minutes)
- Module 6: The Web Configuration (10 minutes)
Course 2: REST and HTTP Semantics (72 minutes)
- Module 1: Exception Handling and Sane HTTP Status Codes – Part 1 (10 minutes)
- Module 1: Exception Handling and Sane HTTP Status Codes – Part 2 (12 minutes)
- Module 2: The Basics of Input Validation (7 minutes)
- Module 3: Good URI Practices (12 minutes)
- Module 4: Leverage HTTP Verbs and Semantics (17 minutes)
- Module 5: Support both XML and JSON (14 minutes)
- Module 6: – The Lifecycle of a Request (Bonus Material – To Be Released)
Course 3: Simple Security for REST (40 minutes)
- Module 1: Simple Spring Security for the API (14 minutes)
- Module 2: Global URL vs Method Level Authorization – Part 1 (9 minutes)
- Module 2: Global URL vs Method Level Authorization – Part 2 (9 minutes)
- Module 3: Cookies and The Session (8 minutes)
- Module 4: Certificates and HTTPS for Tomcat (Bonus Material – To Be Released)
What’s Next
Next comes the fun part – the Master Class.
Now that the foundation is set and we have the base of the API, these last 3 courses are going really focus on the cool parts of building an API – getting it over the finish line.
Course 7 is called Evolving, Discovering and Documenting the REST API – and it’s going to focus on HATEOAS and API discoverability.
Course 8 is all about monitoring and tracking API metrics: Monitoring the Metrics of REST.
And finally, Course 9 is focused on getting the API deployed and into production: DevOps: CI and CD Pipelines, Deployment.
I was planning to do a write-up like this when the Starter Class came out on the 1st of October, but I was a bit burned out after that, so I didn’t get a chance to. So let me make up for that with a cool illustration that never made it into the main page of the course: