Build Your REST API with Spring 5
I published the first REST with Spring tutorials over four years ago, and after 900,000 readers and over a thousand personal questions over email, I've finally realized there is a huge education gap in the ecosystem. I had to learn what makes a good API the hard way, and I couldn’t find anything out there to help me speed things up. It took me 3 years, more than 10 production grade APIs built from scratch and a decent number of mistakes to get to a mature understanding of how an API should really be done well.
More
Sure, there were tutorials and random code samples out there, but nothing coherent. Nothing start to finish to act as a guide through the challenges of building a mature API with Spring. The educational gap between beginner and the API professional remains vast.
API mistakes are expensive
The landscape of the Web has changed significantly over the last few years, and REST APIs have seen massive growth. Today, most non-trivial applications need to expose an API at some point, and the trend is only going up.
APIs are also public, which means you need to get them right from the start, because they're very expensive to change.
There’s never been a better time to learn the finer points of REST with Spring.
The REST with Spring Video Lessons
Each video module contains multiple, in-depth lessons along with walkthroughs, full code examples and resources, all helping you understand the inner working of building an API with Spring from initial architecture to deployment. Each of the 3 classes below feature a different level of education:
Learn by Building an Actual API
The lessons start with the fundamentals of building a practical REST API with Spring and quickly guides you through the more advanced tactics of a mature, well architected system.
But what makes REST with Spring unique is that you won't just learn how to create a well-designed API. You'll learn how to get that API into production, how to monitor it and how to make sure it stays up and running.
My name is Eugen, and I'll be your instructor through the course.
I've been in the Java ecosystem for well over a decade now, and I've been building APIs in one form or another, for almost as long. And of course I've been teaching and writing about Spring and REST APIs throughout all of that time.
The advanced modules in the Master Class are a brain dump of what I learned throughout more than 100 API implementations and show you exactly how to avoid common mistakes and get the API over the finish line.
You’ll learn how not to break your clients when new requirements come in, how to set up your testing and continuously deploy into a production environment.
Watch Online Build Your REST API with Spring 5
# | Title | Duration |
---|---|---|
1 | The Anatomy of a REST API | 11:44 |
2 | Bootstrap a New Project | 05:09 |
3 | The User Management Project | 10:08 |
4 | Application Startup | 11:22 |
5 | Properties and Project Settings | 12:07 |
6 | The Web Configuration | 10:19 |
7 | Exception Handling and Sane HTTP Status Codes - Part 1 | 10:22 |
8 | Exception Handling and Sane HTTP Status Codes - Part 2 | 12:25 |
9 | The Basics of Input Validation | 07:27 |
10 | Good URI Practices | 11:49 |
11 | Leverage HTTP Verbs and Semantics | 16:53 |
12 | Support both XML and JSON | 13:43 |
13 | The Lifecycle of a Request | 17:46 |
14 | Simple Spring Security for the API | 13:18 |
15 | Global URL vs Method Level Authorization - Part 1 | 08:59 |
16 | Global URL vs Method Level Authorization - Part 2 | 09:00 |
17 | Cookies and The Session | 07:52 |
18 | Certificates and HTTPS for Tomcat | 06:54 |
19 | The Topology of Roles and Privileges | 09:11 |
20 | The UI Project and Basic REST from AngularJS | 11:24 |
21 | Dealing with CORS - part 1 | 09:30 |
22 | Dealing with CORS - part 2 | 07:04 |
23 | Working with OAuth2 and Tokens from AngularJS | 13:51 |
24 | The First Live API Tests - Introducing rest-assured - part | 08:35 |
25 | The First Live API Tests - Introducing rest-assured - part 2 | 06:47 |
26 | How To Build a Client for the API - part 1 | 08:34 |
27 | How To Build a Client for the API - part 2 | 09:18 |
28 | How To Test HTTP Semantics | 09:46 |
29 | A Good Base API Tests for Any Resource | 11:44 |
30 | Contract Testing - A Special Kind Of Test | 14:23 |
31 | How OAuth2 Works for REST - part 1 | 07:08 |
32 | How OAuth2 Works for REST - part 2 | 05:04 |
33 | Set Up OAuth2 with Spring Security - part 1 | 09:03 |
34 | Set Up OAuth2 with Spring Security - part 2 | 09:13 |
35 | Tokens, OAuth2 and JWT | 09:31 |
36 | Refresh the Token | 09:18 |
37 | How To Do OAuth from the Front End | 13:51 |
38 | Document the API with Swagger | 10:30 |
39 | The Basics of HATEOAS - part 1 | 06:49 |
40 | The Basics of HATEOAS - part 2 | 06:51 |
41 | Advanced Scenarios with Spring HATEOAS | 10:05 |
42 | How To Evolve the API without Breaking Clients - part 1 | 07:20 |
43 | How To Evolve the API without Breaking Clients - part 2 | 08:35 |
44 | How To Evolve the API without Breaking Clients - part 3 | 03:39 |
45 | Fundamentals of Monitoring with Boot | 09:34 |
46 | Custom Metrics for the API | 11:01 |
47 | Monitoring Data over JMX - part 1 | 09:46 |
48 | Monitoring Data over JMX - part 2 | 11:20 |
49 | Displaying Metrics over HTTP | 10:50 |
50 | Production Grade Tools for Monitoring | 10:07 |
51 | Setting Up Jenkins and The First Job - part 1 | 06:39 |
52 | Setting Up Jenkins and The First Job - part 2 | 07:48 |
53 | A Simple Jenkins Pipeline From Scratch - part 1 | 06:09 |
54 | Remote Deployment for the API | 07:27 |
55 | From Continuous Integration to Continuous Deployment - part 1 | 10:57 |
56 | From Continuous Integration to Continuous Deployment - part 2 | 05:52 |
57 | Load Balance the REST API on EC2 | 09:42 |
58 | ETags in REST | 13:03 |
59 | A Simple API Rate Limiting Implementation | 08:26 |
60 | Binary Data Formats in a Spring REST API | 07:13 |
61 | REST, Async and Long Running Requests - part 1 | 12:59 |
62 | REST, Async and Long Running Requests - part 2 | 06:57 |
63 | Moving Past the Servlet - Going Reactive (NEW) | 11:08 |
64 | How to Build a Reactive REST API - part 1 (NEW) | 11:19 |
65 | How to Build a Reactive REST API - part 2 (NEW) | 10:36 |
66 | Understanding the new WebClient - part 1 (NEW) | 08:36 |
67 | Understanding the new WebClient - part 2 (NEW) | 06:41 |
68 | Using the New Bean Validation 2.0 (NEW) | 12:42 |
69 | Using Kotlin to Build the API (part 1) (NEW) | 08:19 |
70 | Using Kotlin to Build the API (part 2) (NEW) | 12:36 |
71 | New Alternative to Classpath Scanning (NEW) | 08:10 |
72 | What's Possible with the ResponseStatusException (NEW) | 10:53 |
73 | JSON Binding API, the Jackson Alternative (NEW) | 10:22 |
74 | Advanced Web Path Matching (NEW) | 08:51 |
75 | Intro to Spring Boot 2 (NEW) | 07:30 |
76 | Using Spring Boot (NEW) | 08:14 |
77 | Boot 2 Internals - Auto-Configuration and Beyond - part 1 (NEW) | 05:41 |
78 | Boot 2 Internals - Auto-Configuration and Beyond - part 2 (NEW) | 09:01 |
79 | Testing in Spring Boot 2 (NEW) | 10:49 |