When people say, "I want to build an API", nowadays, they almost always mean a REST API.
RESTful APIs have been the dominant way of building APIs nowadays and for a good reason.
Their properties make them scalable and robust for the modern world of distributed computing,
and even though they are far from the only way of building APIs, they are the most popular by a wide margin.
In this course, Nick will teach you how to build REST APIs based on his experience building them for
millions of users in billion-dollar companies.
Course Curriculum
4h 41m 10 sections
Welcome
01:21Free preview
What will you learn in this course?
02:05Free preview
Who is the course for and prerequisites
01:03Free preview
What is REST?
01:07
The 6 constraints of REST
05:32
Resource naming and routing
02:09
HTTP Verbs are meaningful
02:05
Using response codes to indicate status
02:26
Flexible response body options
00:59
Understanding Idempotency
01:40
Using hypermedia for connectedness
01:44
The different types of errors
01:27
Section recap
00:53
The system we will build an API for
02:17
Creating the projects
02:27
Defining the movie API contracts
03:27
Creating a temporary database
06:23
Creating the movies controller
01:03
Implementing movie creation
04:26
Introducing mapping
02:04
Keeping track of the endpoints
02:17
Implementing movie retrieval
04:35
Perfecting the movie creation endpoint
01:37
Implementing movie update
02:52
Implementing movie deletion
01:32
Why partial updates are not used
01:24
Section recap
00:36
Implementing slug-based retrieval
06:04
Moving to a real database
01:39
Adding the database infrastructure code
06:35
Removing the old in-memory database
08:17
Adding a business logic layer
04:20
Implementing validation
09:37
Cancellation token passing
05:08
Section recap
00:39
Authentication and Authorization in REST APIs
02:20
What is the JSON Web Token?
03:58
The token generation service
01:31
Implementing JWT Authorization
07:07
Limiting actions for an admin
03:39
Limiting actions for a trusted member
02:36
Section recap
00:38
The concept of movie ratings
00:49
Where should ratings live?
02:27
Preparing the database
00:56
Using the user id
03:21
Updating the existing functionality to support ratings
Nick Chapsas is a .NET & C# content creator, educator and a Microsoft MVP for Developer Technologies with years of experience in Software Engineering and Engineering Management.
He has worked for some of the biggest companies in the world, building systems that served millions of users and tens of thousands of requests per second.
Nick creates free content on YouTube and is the host of the Keep Coding Podcast.