Web API From Start to Finish
Write powerful and reliable APIs
What you'll work with
About this course
Application Programming Interfaces (APIs) are software that send information back and forth between a program and a user.
The entire web runs on APIs! They are required for microservices, mobile apps, and client-side web apps like Angular, React, or Vue. They also improve the scalability and code reuse of desktop and web apps, yet often developers don't know how to build resilient, powerful APIs.
This course will teach you how to use authentication, how to protect your API, how to version your API, how to document your API, how to monitor your API, and much more.
What you'll be able to do
- Build a robust API
- Secure and monitor an API
- Configure Swagger/OpenAPI fully
- Implement best practices
Every lesson, in the open
88 lessons · 18 hours of video. Here's exactly what's inside.
- 1
Course Introduction
- Introduction 1:20
- Who This Course Is For 6:07
- What This Course Covers 11:41
- What This Course Does Not Cover 7:01
- What Outcomes Should You Expect 3:59
- 2
API Questions
- Introduction 2:10
- What is an API 3:12
- When would we use an API 12:04
- What is REST 7:16
- Where does ASP.NET Core Fit 1:54
- 3
Getting Started with API
- Introduction 0:58
- Creating a New Project 5:42
- Basic Setup 28:05
- Project Cleanup 2:18
- Adding A Controller 11:59
- HTTP Verbs 22:53
- OpenAPI / Swagger 18:49
- Adding API to an Existing Project 11:38
- 4
Testing an API
- Introduction 1:09
- Using a Browser 3:21
- Using OpenAPI 4:39
- Using Postman 12:47
- 5
API Security
- Introduction 2:15
- Storing Secrets 17:38
- Creating Tokens 58:36
- Basic Authentication and Authorization 14:14
- Creating Claims 6:09
- Advanced Authorization 37:33
- 6
Versioning an API
- Introduction 2:29
- Creating a Sample API 2:05
- Configuring Versioning Library 3:38
- Implementing API Versioning 22:41
- Configure Swagger 14:26
- Deprecating a Version 13:45
- Version Neutral Endpoints 6:53
- 7
Monitoring an API
- Introduction 0:39
- Creating Our Sample API 1:40
- Logging 33:38
- Health Checks 33:10
- Real-Time Monitoring 19:08
- 8
Protecting an API
- Introduction 1:35
- Creating a Sample API 1:31
- Data Validation 24:39
- Caching 22:46
- Rate-limiting 43:24
- 9
Building an API
- Introduction 2:08
- Designing the API 42:02
- Creating a Class Library 8:43
- Creating the API Project 7:14
- Adding Basic Security 28:31
- Adding Health Checks 10:51
- Create the Controllers 19:31
- Building the Database 47:33
- Recreating the Database 11:19
- Add Data Access 58:23
- Wire Up the API 37:25
- Adding Logging 16:57
- Testing the API 11:14
- 10
Consuming an API
- Introduction 3:29
- Creating a Blazor Client 3:25
- Wiring Up the HttpClient 7:27
- Creating the Login Page 27:15
- Creating the Display Page 16:50
- Completing Todos 8:10
- Alternative: Using OpenAPI Generated Client 18:14
- 11
Advanced OpenAPI Tasks
- Introduction 0:47
- Build the Test API 3:00
- Serve Swagger on the Root 3:58
- Support OpenAPI 2 1:29
- Customize Swagger 5:18
- Enable XML Comments 10:04
- Enable Authentication In Swagger 10:34
- Customizing the CSS Theme 6:37
- 12
Minimal APIs
- Introduction 1:16
- Create a Minimal API 3:44
- Add Sample Endpoints 4:42
- Add Real Endpoints 26:13
- Secure the API 18:33
- 13
API Best Practices
- Introduction 0:28
- Consistency 3:58
- Good Naming 4:40
- Secure By Default 2:20
- Use Standard HTTP Status Codes 1:56
- Version Your API 3:08
- Include a Health Check Endpoint 1:48
- Use Pagination 4:29
- Document Endpoints 4:01
- 14
Course Conclusion
- Conclusion 3:05
Hi, I'm Tim Corey.
I learned software development the hard way, with lots of dead-ends, confusion, and knowledge gaps. I kept thinking, “It shouldn't be this hard!” Now I teach students how to think and code like professional developers. My goal is to make it easier for you to become a developer.
Frequently asked questions
When does this course start and finish?
How long do I have to access the course?
What if I am unhappy with the course?
This course is part of a Learning Path
Take Web API From Start to Finish on its own, or follow a path that builds around it.