Pragmatic REST APIs
Learn how to create production-ready REST APIs using the latest features of ASP.NET Core and best practices. Join over 6,400 students and enhance your API design skills.
Read more about the course
Course Structure
01. Introduction to REST
Start with a solid understanding of REST principles. Learn about the Richardson Maturity Model, the API-First approach, and set up your development environment for building reliable REST APIs.
02. Building REST APIs
Master HTTP methods, status codes, and REST best practices. Learn to implement CRUD operations, handle child resources, perform validation, and conduct search, filtering, sorting, and pagination.
03. HATEOAS and Change Management
Implement HATEOAS to enhance the discoverability of your APIs. Study content negotiation, API versioning strategies, and effective ways to manage changes in APIs.
04. Authentication and Authorization
Secure your APIs using token-based authentication, JWT, refresh tokens, and implement role- and attribute-based authorization. Learn to protect sensitive data and integrate with external APIs.
05. Client Integration
Learn how to integrate REST APIs with client applications. Build a React client, implement batch resource creation, and use HATEOAS to manage UI behavior. Master generating an HTTP client using OpenAPI specification for safe API consumption.
06. Advanced Aspects of REST API
Enhance your APIs with HTTP caching, optimistic locking, cursor-based pagination, rate limiting, and webhooks. Learn to create reliable and asynchronous REST APIs.
07. Testing REST APIs
Master various testing approaches, including unit, integration, and end-to-end testing. Learn to test external services using WireMock and set up automated testing in CI/CD pipelines.
08. Documenting REST APIs
Create comprehensive documentation for your API using OpenAPI/Swagger. Learn to document multiple API versions, describe authentication processes, and explore modern UI alternatives for documentation such as Scalar.
09. Deployment and Monitoring
Deploy your REST APIs on Azure, manage database migrations, and implement monitoring using Application Insights. Learn to automate deployment using GitHub Actions to create a reliable CI/CD pipeline.
More Than Just Theory
The Pragmatic REST APIs course includes not only theory.
Throughout the course, you will build a full-fledged REST API from scratch, starting with basic CRUD operations and ending with advanced features such as HATEOAS, authentication, and automated testing.
The course also includes bonus content to help you master modern approaches to REST API development:
Bonus Course #1 (20 minutes):
REST API Cases from Successful Companies
Analyze real REST APIs from successful companies, studying their design decisions, best practices, and implementation strategies.
Bonus Course #2 (50 minutes):
Building REST APIs with Minimal APIs
Learn to create lightweight and high-performance REST APIs using Minimal APIs in .NET and evaluate if they suit your needs.
Bonus Course #3 (52 minutes):
Integrating Auth0 as an Identity Provider
Learn how to integrate Auth0 for reliable authentication and authorization, as well as how to integrate it with client applications.
After completing the course, you will be able to:
- Confidently build production-ready REST APIs.
- Implement secure and scalable authentication systems.
- Master testing and documenting REST APIs.
- Confidently deploy your APIs in production.
Watch Online Pragmatic REST APIs
# | Title | Duration |
---|---|---|
1 | Agenda, Your Instructor, Course Structure | 06:52 |
2 | How To Use This Course | 03:06 |
3 | Introduction | 01:27 |
4 | Introducing REST | 19:40 |
5 | Richardson Maturity Model | 08:09 |
6 | API-First | 03:44 |
7 | What We Will Build | 03:38 |
8 | Project Setup | 28:40 |
9 | Introduction | 02:03 |
10 | HTTP Methods | 07:27 |
11 | HTTP Status Codes | 09:38 |
12 | Designing REST APIs - Best Practices | 13:42 |
13 | Introducing the Database, EF Core | 23:21 |
14 | Getting Resources - GET | 15:37 |
15 | Creating Resources - POST | 15:44 |
16 | Updating Resources - PUT | 12:03 |
17 | Partially Updating Resources - PATCH | 14:03 |
18 | Deleting Resources - DELETE | 07:44 |
19 | Adding Another Resource | 11:10 |
20 | Working With Child Resources | 24:58 |
21 | REST API Validation, Problem Details | 21:38 |
22 | Exception Handling | 12:20 |
23 | Supporting Searching and Filtering | 11:29 |
24 | Supporting Sorting | 24:19 |
25 | Implementing Pagination | 15:51 |
26 | Supporting Data Shaping | 22:03 |
27 | Introduction | 01:52 |
28 | Hypermedia As The Engine Of Application State | 10:41 |
29 | Quick Code Refactoring | 05:56 |
30 | Implementing HATEOAS | 31:16 |
31 | Content Negotiation | 12:10 |
32 | API Versioning | 06:47 |
33 | Implementing API Versioning | 14:42 |
34 | API Change Management | 09:04 |
35 | A Quick Question | 00:30 |
36 | Introduction | 01:54 |
37 | Authentication in REST APIs | 08:45 |
38 | Adding the Users Resource | 05:32 |
39 | Introducing ASP.NET Core Identity | 09:12 |
40 | Implementing User Registration | 14:49 |
41 | Token Based Authentication, JWT | 17:49 |
42 | Supporting Refresh Tokens | 10:33 |
43 | Protecting Resources: Owner Authorization | 15:00 |
44 | Role-Based Authorization | 09:31 |
45 | Advanced Authorization - RBAC, ABAC | 05:33 |
46 | Integrating With External APIs | 16:52 |
47 | Protecting Sensitive Data With Encryption | 11:16 |
48 | Introduction | 02:12 |
49 | Introducing the React Client Application | 16:12 |
50 | Adding the Entries Resource, GitHub Integration | 07:09 |
51 | Batch Resource Creation | 04:42 |
52 | HATEOAS: Driving Client Behavior | 10:18 |
53 | OpenAPI and HTTP Client Generation | 09:05 |
54 | Introduction | 02:00 |
55 | HTTP Caching | 16:21 |
56 | Optimistic Locking, Concurrency Control | 08:40 |
57 | Cursor Pagination | 16:42 |
58 | Refit - Automatic HTTP Client Generation | 10:11 |
59 | HTTP Resilience, Polly | 09:15 |
60 | Rate Limiting and REST APIs | 09:06 |
61 | Idempotence and REST APIs | 08:37 |
62 | Webhooks | 04:48 |
63 | Building Asynchronous REST APIs | 10:14 |
64 | A Small Favor? | 00:31 |
65 | Introduction | 01:19 |
66 | Unit Testing and REST APIs | 14:38 |
67 | Unit Testing: The Complete Picture | 03:43 |
68 | Integration Testing REST APIs | 18:47 |
69 | Testing External Services Using WireMock | 11:30 |
70 | Integration Testing: The Complete Picture | 05:07 |
71 | Functional Testing - Creating End-to-End Tests | 05:55 |
72 | Automated Testing in CI/CD Pipelines | 06:15 |
73 | Introduction | 01:51 |
74 | OpenAPI Support in .NET | 03:48 |
75 | Introducing Swagger for Documenting APIs | 05:51 |
76 | Adding Rich REST API Documentation | 08:38 |
77 | Documenting Multiple API Versions | 05:42 |
78 | Documenting Authentication | 04:29 |
79 | Exploring OpenAPI UI Alternatives - Scalar | 04:17 |
80 | Introduction | 02:09 |
81 | Deploying the Client Application to Azure | 06:41 |
82 | Deploying the Database and Applying Migrations | 09:41 |
83 | Deploying the REST API to Azure | 12:57 |
84 | Adding Monitoring With Application Insights | 08:38 |
85 | Automating Deployments With GitHub Actions | 15:38 |
86 | A Note From Me + Small Ask | 00:34 |
87 | Case Study: Patreon API | 19:41 |
Similar courses to Pragmatic REST APIs

Blazor WebAssemblycode-maze.com

Mastering C# Unit TestingJulio Casal

Complete C# Unity Game Developer 3Dudemy

Full Time Game DevThomas Brush
