What Students Are Saying About Pragmatic REST APIs

START WATCHING
Course student
Course student
Course student
Course student
Course student
Course student
4.9/5 from 5,600+ 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

COMING SOON
BEST VALUE

PRA + Community

$347

9 in-depth chapters

16+ hours of video content

Bonus: Case Studies

Bonus: Minimal APIs Course

Lifetime access

Lifetime updates

Community Access

COMING SOON

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 - Building REST APIs With Minimal APIsCOMMUNITY

  • 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 - REST API Case Studies

  • Case Study: Patreon API
START WATCHING
Course student
Course student
Course student
Course student
Course student
Course student
4.9/5 from 5,600+ 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 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.

  • 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 5,600+ students
Lifetime Access
14+ Hours of Content
Real-world Examples