Skip to main content
CF

Pragmatic REST APIs

14h 44m 2s
English
Paid
Updated September 2026

Pragmatic REST APIs is a 87-lesson 14 hours 44 minutes self-paced course by Milan Jovanović. Milan Jovanović's Pragmatic REST APIs course, taken by over 6,400 students, walks through building a production-grade REST API in ASP.

Course facts

Lessons
87
Duration
14 hours 44 minutes
Level
All levels
Language
English
Updated
2026-09-11
Instructor
Milan Jovanović
Price
Premium

Milan Jovanović's Pragmatic REST APIs course, taken by over 6,400 students, walks through building a production-grade REST API in ASP.NET Core from first principles to deployment.

Course structure

  • REST fundamentals, the Richardson Maturity Model, and an API-first setup
  • CRUD operations, child resources, validation, search, filtering, sorting, and pagination
  • HATEOAS, content negotiation, versioning, and change management
  • Token-based auth, JWT, refresh tokens, and role/attribute-based authorization
  • Client integration, including a React client and OpenAPI-generated HTTP clients
  • HTTP caching, optimistic locking, cursor pagination, rate limiting, and webhooks
  • Unit, integration, and end-to-end testing, including WireMock and CI/CD
  • OpenAPI/Swagger documentation and deployment to Azure with GitHub Actions

You build one API from scratch across all 87 lessons, and three bonus modules add real-world API case studies, Minimal APIs, and integrating Auth0 as an identity provider — by the end you're equipped to build, secure, test, document, and ship a REST API on your own.

Who teaches Pragmatic REST APIs? Milan Jovanović

Milan Jovanović thumbnail

Milan Jovanović is a Serbian software engineer and Microsoft MVP focused on the architectural side of .NET development — particularly Clean Architecture, Modular Monoliths, and the patterns for building maintainable production .NET applications. He runs the Milan Jovanović Tech newsletter — one of the more widely-read newsletters in the .NET community — and publishes paid course material on the same topics.

His CourseFlix listing carries three Milan Jovanović courses: Pragmatic Clean Architecture, Modular Monolith Architecture, and Pragmatic REST APIs. The teaching style is unusually rigorous for the .NET tutorial market about architectural decisions — each course is essentially a senior engineer's playbook on a specific architectural pattern.

Material is paid and aimed at intermediate-and-up .NET developers responsible for architectural decisions on real production systems. For broader content, see CourseFlix's C# and System Design & Architecture category pages.

What lessons are included in Pragmatic REST APIs?

This is a demo lesson (10:00 remaining)

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

View Pricing
0:00
/
#1: Agenda, Your Instructor, Course Structure
All Course Lessons (87)
#Lesson TitleDurationAccess
1
Agenda, Your Instructor, Course Structure Demo
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
Unlock unlimited learning

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

Learn more about subscription

What courses are similar to Pragmatic REST APIs?

More courses by Milan Jovanović

Frequently asked questions

What prerequisites should I have before starting this course?
Before starting the course, you should have a basic understanding of web development and familiarity with C# and ASP.NET Core. The course assumes you have prior knowledge of these areas to effectively set up your development environment and follow along with building REST APIs.
What projects will I build during this course?
Throughout the course, you will build a production-ready REST API using ASP.NET Core. You'll work on implementing CRUD operations, handling child resources, and integrating with a React client application. You will also learn to secure your API, manage changes, and enhance API discoverability using HATEOAS.
Who is the target audience for this course?
This course is designed for developers who wish to enhance their API design skills using ASP.NET Core. It is ideal for those looking to create production-ready REST APIs and improve their understanding of best practices in API development, including security and client integration.
How does the depth of this course compare to similar offerings?
The course offers a comprehensive exploration of REST API development with ASP.NET Core, covering foundational topics like HTTP methods and status codes, as well as advanced concepts such as authentication, HATEOAS, and API versioning. It is suitable for both intermediate and advanced developers seeking to deepen their understanding of REST APIs.
What specific tools or platforms are covered in this course?
The course focuses on ASP.NET Core for developing REST APIs and includes integration with a React client application. It also covers tools like Entity Framework Core for database interaction and OpenAPI for generating HTTP clients, as well as security tools like JWT for token-based authentication.
What topics are not covered in this course?
The course does not cover topics outside of REST API development, such as frontend development beyond the basic integration with a React client. It focuses specifically on backend API development, security, and best practices within the scope of ASP.NET Core.
What is the expected time commitment for completing this course?
With 87 lessons included, the course requires a substantial time commitment to complete. The exact duration is not specified, but given the depth of content, students should be prepared to invest several weeks to fully grasp the material and apply the concepts in practical projects.