WHAT'S INSIDE

Everything you need to build production-ready REST APIs.

.NET 9

Latest features for building modern REST APIs

PostgreSQL

Reliable and scalable database for your APIs

React

SPA client integration for your API

Azure

Cloud deployment & monitoring

01

REST Introduction

Fundamental

Start with a solid foundation in REST principles. Learn about Richardson Maturity Model, API-First approach, and set up your development environment for building robust REST APIs.

1h 5m
6 Lessons
START WATCHING
02

Building REST APIs

Fundamental

Master HTTP methods, status codes, and REST best practices. Learn to implement CRUD operations, handle child resources, validation, searching, filtering, sorting, and pagination.

4h 25m
18 Lessons
START WATCHING
Building REST APIs
03

HATEOAS and Change Management

Intermediate

Implement HATEOAS to make your APIs more discoverable. Learn content negotiation, API versioning strategies, and how to manage API changes effectively.

1h 32m
8 Lessons
START WATCHING
HATEOAS and Change Management
04

Authentication and Authorization

Intermediate

Secure your APIs with token-based authentication, JWT, refresh tokens, and implement role-based and attribute-based authorization. Learn to protect sensitive data and integrate with external APIs.

2h 7m
12 Lessons
START WATCHING
Authentication and Authorization
05

Client Integration

Intermediate

Learn how to integrate REST APIs with client applications. Build a React client, implement batch operations, and use HATEOAS to drive UI behavior. Master OpenAPI client generation for type-safe API consumption.

50m
6 Lessons
START WATCHING
Client Integration
06

Advanced REST API Concerns

Advanced

Take your APIs to the next level with HTTP caching, optimistic locking, cursor pagination, rate limiting, and webhooks. Learn to build resilient and asynchronous REST APIs.

1h 36m
10 Lessons
START WATCHING
Advanced REST API Concerns
07

Testing REST APIs

Intermediate

Master different testing approaches including unit testing, integration testing, and end-to-end testing. Learn to test external services using WireMock and set up automated testing in CI/CD pipelines.

1h 7m
8 Lessons
START WATCHING
Testing REST APIs
08

Documenting REST APIs

Intermediate

Create comprehensive API documentation using OpenAPI/Swagger. Learn to document multiple API versions, authentication flows, and explore modern documentation UI alternatives like Scalar.

34m
7 Lessons
START WATCHING
Documenting REST APIs
09

Deployment and Monitoring

Advanced

Deploy your REST APIs to Azure, manage database migrations, and implement monitoring with Application Insights. Learn to automate deployments using GitHub Actions for a robust CI/CD pipeline.

56m
6 Lessons
START WATCHING
Deployment and Monitoring

More Than Just Theory

Pragmatic REST APIs includes more than just theoretical discussion.

We're going to build a complete REST API from scratch, covering everything from basic CRUD operations to advanced features like HATEOAS, authentication, and automated testing.

The course includes bonus content to help you master modern REST API development.

REST API Case Studies
BONUS COURSE #120m

REST API Case Studies From Successful Companies

Analyze real-world REST APIs from successful companies. Learn from their design decisions, best practices, and implementation strategies.

Building REST APIs With Minimal APIs
COMMUNITY
BONUS COURSE #250m

Building REST APIs With Minimal APIs

Learn how to build lightweight and high-performance REST APIs using .NET Minimal APIs, and see if they're a match for REST.

Integrating Auth0 as the Identity Provider
COMMUNITY
BONUS COURSE #352m

Integrating Auth0 as the Identity Provider

Learn how to integrate Auth0 with your REST APIs for robust authentication and authorization. We'll also cover client integration.

After Completing This Course You Will

  • Build production-ready REST APIs with confidence
  • Implement secure and scalable authentication systems
  • Master REST API testing and documentation
  • Confidently deploy your APIs to production

What Students Are Saying About Pragmatic REST APIs

Colin J Stansfield avatar
Colin J Stansfield
As engineers we solve problems, this course gives you a deep understanding of Rest and HATEOS, but more importantly, to me, is the pragmatic approach to problem solving and the iterative approach to resolving issues. The process that most of us go through every day is silent but Milan eloquently explains his thought process. The biggest challenge I face is the evolving .NET landscape and completing things in a timely manner. When you spend a lot of time involved with digital transformation it's easy to lose pace and fall behind. These courses keep me current and allow me to provide solutions that are forward thinking. This course catches you up on modern approaches from a deep engineering perspective. The lessons are organized and presented perfectly. This young man has skills! As far as my recommendation goes it is without hesitation that every single one of Milan's courses and instructional videos should be studied when time permits. I benefit every day from every one of his lessons as I seek to become the best .NET developer I can be.
Paul Pitchford avatar
Paul Pitchford
I'd consider myself an intermediate developer who has mainly been exposed to the Microsoft ecosystem. I've been wanting to learn more about properly writing APIs as I think about moving to another SPA away from Blazor. This course has been a great place for me to learn and expand my knowledge. Not only is Milan clear and knowledgeable but I love his way of starting basic and going back and refactoring rather than jumping in the deep end. Add to that his meticulous approach and you've got yourself one hell of a teacher. I also love the things he teaches me alongside the core elements of the course. These have been a real valuable lesson for me. I'm following this course as I try and rewrite our internal app for work. Milan, thank you, you're making this process so enjoyable.
Rudy Cortembert avatar
Rudy Cortembert
This course is highly valuable for both beginners and experienced .NET developers looking to master REST APIs. It covers everything you need to know to implement REST APIs effectively, including testing, deployment, and security.
Burak Beşli avatar
Burak Beşli
I discovered Milan about 1.5 years ago and I have admired him greatly since then. He is a perfect teacher for me, both in terms of his mastery of the subjects and his way of explaining. In addition to these, he is a very kind and understanding engineer. I take all his courses when I have time and follow them meticulously. I definitely recommend his courses to everyone, as they have supported me in the development of my personal software career, the change of my perspective and most importantly, in walking to the point I want to be. I am sure you will not regret it!
Anton Martyniuk | Microsoft MVP avatar
Anton Martyniuk | Microsoft MVP
This is by far the best and the most comprehensive REST APIs course I have seen. Milan explained all the aspects or REST, how to apply it in real-world applications, including HATEOAS which is missed in 90% of REST APIs. You will see how HATEOAS can be really useful to drive the application state. What is really fascinating is that Milan showed a real client Web UI application, as it integrates with the built REST API. This stands out this course among the others. I really like how Milan explained all the decisions throughout this course in a pragmatic manner, explaining what works and what are the trade-offs in the real-world. I can recommend this course for everyone, after watching you will be ready to start building production ready REST APIs. You will also learn advanced topics for fetching data, caching, authentication and authorization, how to integrate with external APIs like GitHub and Patreon. And finally how to write all sort of tests for the APIs and how deploy your apps to Azure through CI/CD pipeline.
Abdelrahman Ahmed avatar
Abdelrahman Ahmed
I've been in the development world for years, and this REST API course has been an absolute game-changer for me. The best thing about this course is its comprehensive and practical approach—it not only covers the fundamentals of REST, from Roy Fielding’s groundbreaking work to real-world examples, but also delves deep into advanced topics like HATEOAS, API versioning, caching strategies, and robust deployment practices. Before taking this course, my biggest challenge was designing APIs that truly adhered to RESTful best practices. I struggled with creating intuitive URL designs, managing error responses effectively, and securing endpoints properly. The course's detailed modules on CRUD operations, validation, error handling, and security have completely transformed my approach, bridging all those gaps with clear, hands-on examples. What really sets this course apart is how it complements the other top-notch courses by Milan, namely Pragmatic Clean Architecture and Modular Monolith Architecture. Each course brings its own unique insights and practical strategies, forming a complete toolkit for modern web development. While the REST API course sharpened my API design and development skills, the other courses have empowered me to build maintainable, scalable, and robust systems overall. With the insights gained from this course, I'm now confident in building APIs that are scalable, secure, and user-friendly. Every aspect—from thorough testing and effective error handling to seamless deployment and comprehensive documentation—is covered in detail. I would highly recommend this course, along with the other two, to any developer looking to elevate their skills and build better, more resilient Applications and APIs. Finally, this course only leaves me in greater appreciation and awe for Milan's patience, knowledge and reasoning. Looking forward to more courses just like this one, Milan. Fantastic content as always!
START WATCHING
Course student
Course student
Course student
Course student
Course student
Course student
4.9/5 from 6,400+ students

Ready to Join Pragmatic REST APIs?

Choose the plan that best fits your needs and start building better REST APIs today.

PRA

$197

9 in-depth chapters

14+ hours of video content

Bonus: Case Studies

Lifetime access

Lifetime updates

BEST VALUE

PRA + Community

$347

9 in-depth chapters

16+ hours of video content

Bonus: Case Studies
Bonus: Minimal APIs
Bonus: Auth0 Integration

Lifetime access

Lifetime updates

Community Access

The Full Curriculum

Introduction (10m)FREE PREVIEW

  • Agenda, Your Instructor, Course Structure
  • How To Use This Course

REST Introduction (1h 5m)FREE PREVIEW

  • Introduction
  • Introducing REST
  • Richardson Maturity Model
  • API-First
  • What We Will Build
  • Project Setup

Building REST APIs (4h 25m)

  • Introduction
  • HTTP Methods
  • HTTP Status Codes
  • Designing REST APIs - Best Practices
  • Introducing the Database, EF Core
  • Getting Resources - GET
  • Creating Resources - POST
  • Updating Resources - PUT
  • Partially Updating Resources - PATCH
  • Deleting Resources - DELETE
  • Adding Another Resource
  • Working With Child Resources
  • REST API Validation, Problem Details
  • Exception Handling
  • Supporting Searching and Filtering
  • Supporting Sorting
  • Implementing Pagination
  • Supporting Data Shaping

HATEOAS and Change Management (1h 32m)

  • Introduction
  • Hypermedia As The Engine Of Application State
  • Quick Code Refactoring
  • Implementing HATEOAS
  • Content Negotiation
  • API Versioning
  • Implementing API Versioning
  • API Change Management

Authentication and Authorization (2h 7m)

  • Introduction
  • Authentication in REST APIs
  • Adding the Users Resource
  • Introducing ASP.NET Core Identity
  • Implementing User Registration
  • Token Based Authentication, JWT
  • Supporting Refresh Tokens
  • Protecting Resources: Owner Authorization
  • Role-Based Authorization
  • Advanced Authorization - RBAC, ABAC
  • Integrating With External APIs
  • Protecting Sensitive Data With Encryption

Client (UI) Integration With REST APIs (50m)

  • Introduction
  • Introducing the React Client Application
  • Adding the Entries Resource, GitHub Integration
  • Batch Resource Creation
  • HATEOAS: Driving Client Behavior
  • OpenAPI and HTTP Client Generation

Advanced REST API Concerns (1h 36m)

  • Introduction
  • HTTP Caching
  • Optimistic Locking, Concurrency Control
  • Cursor Pagination
  • Refit - Automatic HTTP Client Generation
  • HTTP Resilience, Polly
  • Rate Limiting and REST APIs
  • Idempotence and REST APIs
  • Webhooks
  • Building Asynchronous REST APIs

Testing REST APIs (1h 7m)

  • Introduction
  • Unit Testing and REST APIs
  • Unit Testing: The Complete Picture
  • Integration Testing REST APIs
  • Testing External Services Using WireMock
  • Integration Testing: The Complete Picture
  • Functional Testing - Creating End-to-End Tests
  • Automated Testing in CI/CD Pipelines

Documenting REST APIs (34m)

  • Introduction
  • OpenAPI Support in .NET
  • Introducing Swagger for Documenting APIs
  • Adding Rich REST API Documentation
  • Documenting Multiple API Versions
  • Documenting Authentication
  • Exploring OpenAPI UI Alternatives - Scalar

Deployment and Monitoring (56m)

  • Introduction
  • Deploying the Client Application to Azure
  • Deploying the Database and Applying Migrations
  • Deploying the REST API to Azure
  • Adding Monitoring With Application Insights
  • Automating Deployments With GitHub Actions

BONUS - REST API Case Studies (20m)

  • Case Study: Patreon API

BONUS - Building REST APIs With Minimal APIs (50m)COMMUNITY

  • Introduction
  • Migrating GET Endpoints - Collection Resources
  • Migrating GET Endpoints - Single Resource
  • Migrating POST Endpoints
  • Migrating PUT Endpoints
  • Migrating PATCH Endpoints
  • Migrating DELETE Endpoints
  • HATEOAS With Minimal APIs
  • API Versioning With Minimal APIs
  • Documenting Minimal APIS
  • Minimal APIs and REST - Pros and Cons

BONUS - Integrating Auth0 as the Identity Provider (52m)COMMUNITY

  • Introduction
  • Auth0 Identity Provider Setup
  • Client Integration With Auth0
  • Assigning Roles to Users With Auth0 Management API
  • REST API Integration With Auth0
  • Testing the Complete Authentication Flow
START WATCHING
Course student
Course student
Course student
Course student
Course student
Course student
4.9/5 from 6,400+ students
Milan Jovanović

WHO'S BEHIND THIS

Hi – I'm Milan Jovanović. I help software engineers improve their .NET and software architecture skills.

I'm a Software Architect and Microsoft MVP for Developer Technologies with years of experience building large-scale systems and APIs.

I've helped thousands of people become better software engineers through my practical tips on social media, The .NET Weekly newsletter, and YouTube channel.

My goal is to teach you everything I learned while building and maintaining production-ready REST APIs (with a dose of pragmatism).

Microsoft MVP Badge.

GOT QUESTIONS?

Frequently Asked Questions

  • Who is this course for?

    This course is for anyone who wants to learn how to build production-ready REST APIs using the latest ASP.NET Core features and best practices.

    You'll learn how to build APIs that are not just functional, but also maintainable, testable, and scalable. We'll even integrate a client app and deploy the API to production.

  • What will I learn in this course?

    You'll learn the core principles of REST APIs and how to apply them in practice. These are the same core principles I've used to build many large-scale systems in the past 8 years.

    • REST Fundamentals
    • REST Best Practices
    • HATEOAS (in-depth)
    • Authentication
    • Authorization
    • Testing
    • Deployment
    • CI/CD

    All the course contents are up to date with .NET 9.

  • How long is the course?

    The core course is 14 hours and 21 minutes long and is a video course. It has a lot of value packed inside, and I designed it to be easy to follow.

    The bonus section contains case studies of real-world APIs from some of the most successful companies in the world. You'll see how they were designed and built, and how they were used to power some of the most popular products in the world.

  • Why is this course different from other REST API courses?

    Unlike other courses that only scratch the surface, this course dives deep into real-world REST API development. You'll learn how to build APIs that are not just functional, but also maintainable, testable, and scalable. We'll also integrate a client app and deploy the API to production.

    The bonus section contains case studies of real-world APIs from some of the most successful companies in the world. You'll see how they were designed and built, and how they were used to power some of the most popular products in the world. You'll also see how they compare to the API we'll build in the course.

  • What does Community Access mean?

    If you purchase the PRA + Community Access plan, you will gain access to the Community section. If you don't want to go through the course alone, it's a great way to enhance your learning experience. The Community is where like-minded engineers like yourself can get together and collaborate. If you get stuck at any point, this is where you will find help. Of course, I'll also be there to answer any questions.

  • Got it. This must be expensive, right?

    No. It's $197 on the basic plan.

    And if you want to have Community access with bonus content, then it's $347.

  • Do I get lifetime access?

    Absolutely, YES! You can access the course forever, including any future updates, with no extra payment.

  • What are the prerequisites for taking this course?

    You should have at least 1 year of experience with ASP.NET Core and (preferably) Entity Framework Core. If you are a beginner, this course will help you improve regardless, but it will be slightly harder to follow. You should also be familiar with Docker, as that is what we will use for running external services.

    The course also includes a client app built with React, so you should at least have Node.js installed to be able to run the client app.

  • What if I get stuck during the course?

    The course is carefully designed to build knowledge progressively, with each lesson building on the previous ones, so the chances of getting stuck are minimal.

    However, if you do need help, the Community Access edition provides direct access to both me and other course participants. You'll be able to ask questions, share your progress, and get help when needed.

  • Is there a refund policy?

    If you're not completely satisfied with your purchase, you can request a full refund by emailing milan [at] milanjovanovic.tech, as long as:

    • The refund is requested within 7 days of the original purchase date
    • You have completed less than 10% of the course
  • Ok. What should I do next if I want to enroll?

    Click the START WATCHING button below and get started today.

START WATCHING

READY TO LEVEL UP?

Unlock Pragmatic REST APIs Today

Join thousands of developers who have already transformed their API development skills with this comprehensive course.

Course student
Course student
Course student
Course student
Course student
Course student
4.9/5 from 6,400+ students
Lifetime Access
14+ Hours of Content
Real-world Examples