Skip to main content
CF

Build Your REST API with Spring 5

12h 41m 39s
English
Paid

Introducing the Build Your REST API with Spring 5 course, a comprehensive guide to mastering REST API development with Spring. Over the years, after interacting with 900,000 readers and addressing countless personal queries, I've recognized the significant education gap in the ecosystem. Learning to craft a good API took me three long years, involving over 10 production-grade APIs and learning from numerous mistakes.

Why Understanding APIs Is Crucial

The web landscape has evolved significantly, with REST APIs experiencing substantial growth. Today, many applications need to expose an API, and the necessity for solid, reliable APIs is only increasing.

APIs are public-facing, meaning they must be right from the outset, as they are costly to modify later on. Therefore, mastering REST with Spring has never been more important.

The REST with Spring Video Lessons

This course offers video modules packed with in-depth lessons, walkthroughs, complete code examples, and resources. The aim is to provide a comprehensive understanding of building an API with Spring, from initial architecture to deployment. Here's what each class offers:

  • Fundamentals of building a practical REST API with Spring
  • Advanced tactics for crafting a mature API system
  • Guidance on taking an API to production, monitoring, and ensuring uptime

Hands-On Experience: Learn by Building an Actual API

These lessons focus on practical experience, guiding you from basic concepts to the advanced strategies required for a well-architected system. This course teaches not only API creation but also deployment, monitoring, and maintenance in a production environment.

I'm Eugen, your instructor. With over a decade in the Java ecosystem and extensive experience in API development and teaching, I bring a wealth of knowledge to this course. The advanced modules, especially in the Master Class, compile my insights from over 100 API implementations, highlighting:

Key Learning Outcomes

  • Strategies to avoid common API pitfalls
  • Ensuring compatibility with clients despite new requirements
  • Setting up testing and continuous deployment into production

Join us to transform your understanding and capability in building robust, scalable REST APIs with Spring.

About the Author: Baeldung

Baeldung thumbnail

Baeldung is a Romania-origin technical-tutorial site that has grown into one of the largest English-language reference sources for Java, Spring, and the broader JVM ecosystem. The site publishes thousands of short tutorials and a smaller paid course catalog focused specifically on Spring Security and the Spring Framework deep dives.

The CourseFlix listing carries four Baeldung courses focused on Spring: Learn Spring 5 and Spring Boot 2, Build Your REST API with Spring 5, Learn Spring Security: The Master Class, and the OAuth-focused Learn Spring Security OAuth. Material is paid and aimed at Java developers working on production Spring applications, particularly on the security and authentication side.

Watch Online 79 lessons

This is a demo lesson (10:00 remaining)

You can watch up to 10 minutes for free. Subscribe to unlock all 79 lessons in this course and access 10,000+ hours of premium content across all courses.

View Pricing
0:00
/
#1: The Anatomy of a REST API
All Course Lessons (79)
#Lesson TitleDurationAccess
1
The Anatomy of a REST API Demo
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
Unlock unlimited learning

Get instant access to all 78 lessons in this course, plus thousands of other premium courses. One subscription, unlimited knowledge.

Learn more about subscription

Related courses

Frequently asked questions

What are the prerequisites for enrolling in this course?
Prospective students should have a basic understanding of Java and familiarity with web development concepts. Although not mandatory, prior experience with Spring Framework will be beneficial as the course delves into advanced topics like OAuth2, Spring Security, and API monitoring.
What kind of projects will I build during the course?
You will work on building a practical REST API. The course guides students through a user management project, including setting up security with Spring Security, handling exceptions, and testing APIs using tools like rest-assured. Advanced modules cover evolving APIs without breaking clients and implementing continuous integration and deployment.
Who is the target audience for this course?
The course is designed for Java developers who want to deepen their understanding of REST API development using Spring. It is suitable for those looking to enhance their skills in API design, security, and deployment, including software engineers and architects responsible for building and maintaining web-based applications.
How does this course compare in depth and scope to other API development courses?
This course provides a comprehensive exploration of REST API development with Spring, covering foundational aspects like good URI practices and input validation, as well as advanced topics such as OAuth2 integration and API monitoring. It emphasizes practical experience through hands-on projects, making it more immersive than basic introductory courses.
What specific tools and platforms will I learn to use in this course?
The course teaches the use of several tools and platforms including Spring Framework for API development, rest-assured for API testing, and Jenkins for setting up continuous integration and deployment pipelines. It also covers the use of Swagger for API documentation and illustrates how to handle API security with OAuth2 and JWT.
What topics are not covered in this course?
The course does not cover non-Spring frameworks for API development, such as Node.js or Django. It also does not delve into frontend development beyond the basics required to interact with the API, nor does it focus on mobile application development or non-RESTful API architectures like GraphQL.
What is the expected time commitment to complete this course?
The course comprises 79 video lessons, each packed with detailed content and practical exercises. While the exact time to complete may vary depending on individual learning pace, a commitment of several hours per week over a few months is recommended to thoroughly understand and apply the material presented.