What Will You Learn Inside?


Building .NET REST APIs is a carefully crafted pathway to learn how to build production ready .NET based REST APIs, step by step.

Get hands-on experience with the essential tools, techniques and best practices needed to build robust, flexible and high-quality APIs.

Designed for mid-level .NET developers, this course includes everything needed to upgrade your skillset and advance your career to the next level.


Start with the basics

  • Create your first CRUD style REST API with the essential GET, POST, PUT, and DELETE endpoints.

  • Use the popular Postman tool for API testing and learn to reuse existing libraries via NuGet packages.

  • Access SQL Server via Entity Framework Core, the popular O/RM framework that let's your .NET apps talk to relation databases with C#.


Learn the essential design patterns and best practices

  • Use the repository pattern, a widely used architectural pattern for data access and separation of concerns.

  • Understand dependency injection and how it helps in managing dependencies, promoting modularity and testability.

  • Discover the benefits and usage of Data Transfer Objects (DTOs) to define clear contracts between clients and servers.


Build your APIs with security in mind

  • Gain a deep understanding of JSON Web Tokens (JWT) and how they are utilized to create secure and verifiable access tokens.

  • Enable OAuth 2.0 and OpenID Connect via Auth0 to provide a robust authentication mechanism for your clients.

  • Enable fine-grained access control within your API via Role Based Authorization and Claims Based Authorization.


Keep your API flexible and easy to maintain

  • Learn the right way to do logging, error handling and use middleware so you can quickly troubleshooot issues as your API leaves your box.

  • Enable versioning in your API to make sure you have a solid way to introduce new features without breaking your clients.

  • Use well known standards to describe your API so that other developers and clients can easily tell what your API is all about and how to make best use of it.


Integrate a modern client

  • Experience the included ready to run client portal, powered by your .NET REST API.

  • See how real users can leverage your API while being properly authorized via OpenID Connect.

  • Enable pagination and search to navigate through large data sets effortlessly and find information efficiently.


Go to production in the cloud

  • Integrate the Azure Blob Storage service so your users can safely upload images to the cloud through your API.

  • Deploy your API to Azure App Service and connect it to a SQL Database in Azure so your clients can access the API from anywhere.

  • Deploy the client to the Azure Static Web App service, so you get a complete picture of how to run a full stack application in the cloud.

What You Get When You Enroll

Signature Online Video Training

Lifetime access to professionally recorded high quality video training that you can take at your own pace, anywhere and from any device.

Beautifully Illustrated Handouts

Includes all diagrams from every slide deck presented across the course, so you can reference them any time.

Course Roadmap

A printable roadmap covering all the modules included in the course, so you never get lost.

Full Source Code

Full source code linked to every coding lesson so you can easily compare and troubleshoot.

Step By Step Lesson Scripts

Speed up your learning with the exact written steps the instructor follows during the videos.

Full English captions

In case you need them, English captions can be turned on quickly for any of the lessons.

Course Curriculum

01 Welcome to the course! 7 lessons
  • Course introduction
  • What this course covers
  • What you are going to build
  • Is this course for you?
  • Software prerequisites
  • Introduction to ASP.NET Core
  • Development environment setup
02 Creating a .NET REST API 10 lessons
  • ASP.NET Core Web API essentials
  • Creating a Web API project
  • Building and debugging a Web API project
  • Adding the Game Entity
  • Implementing a GET ALL endpoint
  • Using Postman
  • Implementing a GET BY ID endpoint
  • Implementing the POST endpoint
  • Implementing the PUT endpoint
  • Implementing the DELETE endpoint
03 Code organization and validations 5 lessons
  • Using Route Groups
  • Adding Server-Side Validation
  • Introduction to NuGet
  • Using NuGet packages
  • Refactoring the endpoints
04 Using design patterns and best practices 7 lessons
    Introduction to the repository pattern
    Adding the Games Repository
    Understanding Dependency Injection
    Understanding Service Lifetimes
    Using Dependency Injection
    Understanding Data Transfer Objects
    Using Data Transfer Objects
05 Configuring the API to connect to SQL Server 5 lessons
  • Introduction to Docker
  • Running SQL Server as a Docker container
  • Reading configuration from appsettings.json
  • Storing secrets for local development
  • Using Secret Manager to store a connection string
06 Using Entity Framework Core 10 lessons
  • Introduction to Entity Framework Core
  • Creating the DBContext
  • Generating database migrations
  • Configuring entities for database migration
  • Applying a database migration
  • Applying migrations on startup
  • Implementing an Entity Framework repository
  • Using the Entity Framework repository
  • Understanding the Asynchronous Programming Model
  • Using the asynchronous programming model
07 Securing a .NET REST API 7 lessons
  • Using Token Based Authentication
  • Securing an ASP.NET Core Web API
  • Creating Access Tokens
  • Understanding JSON Web Tokens
  • Using Access Tokens In Postman
  • Using Role Based Authorization
  • Using Claims Based Authorization
08 Logging 8 lessons
  • Introduction to Logging
  • Sending logs via the WebApplication logger
  • Using ILoggerFactory
  • Using ILogger
  • Using a Json Logger
  • Using structured logging
  • Configuring log levels
  • Use HTTP Logging
09 Error Handling and middleware 6 lessons
  • Catching and logging errors
  • Returning problem details
  • Introduction to Middleware
  • Adding a middleware via a request delegate
  • Creating a middleware class
  • Using the Built-In Exception Handler
10 Versioning 6 lessons
  • The importance of versioning
  • Using version specific DTOs
  • Adding URL path-based versioning support
  • Using the ASP.NET API Versioning package
  • Using Query String versioning
  • Specifying a default API version
11 UI Integration 4 lessons
  • Running the Game Store Portal
  • Understanding CORS
  • Configuring CORS
  • Refactoring the CORS configuration
12 Auth0 Setup 6 lessons
  • Introduction to OAuth 2.0
  • Introduction to OpenID Connect
  • Setting up Auth0
  • Defining an Auth0 API
  • Defining Auth0 Roles and Users
  • Defining the Auth0 application
13 Auth0 Integration 5 lessons
  • Configuring the Auth0 scheme in the Web API
  • Getting and using access tokens in Postman
  • Adding support for multiple scopes
  • Getting and exploring ID tokens
  • Enable authentication in the Game Store client
14 Implementing Pagination 4 lessons
15 Implementing Search 3 lessons
16 Generating API documentation 4 lessons
  • Adding OpenAPI support
  • Enable the Swagger UI experience
  • Describing response types
  • Adding summaries, tags and descriptions
17 Getting Started With Azure 4 lessons
  • What Is Microsoft Azure?
  • Getting Your Azure Account
  • Quick tour of the Azure Portal
  • Creating a resource group
18 Uploading files to Azure 7 lessons
  • File upload options
  • What Is Azure Storage?
  • Creating an Azure storage account
  • Implement the image uploader
  • Registering the Image uploader in the service container
  • Implementing the image upload endpoint
  • Trying out image upload
19 Deploying a REST API to Azure 4 lessons
  • Creating an Azure SQL database
  • Creating an Azure App Service
  • Enabling Logging to Azure App Service
  • Deploying the Web API
20 Deploying the client to Azure 4 lessons
  • Publishing the client to GitHub
  • Creating a Static Web App
  • Updating the Web API CORS policy
  • Adding Auth0 support to deployed client

Course Preview

Who Is This Course For?

  • Mid-level developers seeking a comprehensive introduction to REST API development with ASP.NET Core.

  • Backend developers coming from another tech stack that need to get up to speed fast with ASP.NET Core.

  • Any .NET backend developer preparing for job interviews or looking into advancing their career to the next level.

Get the Mobile App

  • Get access to all course lessons and discussions anywhere, anytime, on any device.

  • The mobile app is the best way to stay in the loop and take your learning to the next level.

  • Available for both iOS and Android, the mobile app works great as a native learning experience.

Compared to Other Courses

Other .NET REST APIs Courses
Building .NET REST APIs
  • Only give you a list of pre-recorded videos with source code that some times won't match what the instructor is doing.

  • Complements professionally recorded videos with fully working source code, step by step lesson scripts, a complete course roadmap, beautifully illustrated printable handouts and full English captions.

  • Focus only on some aspects of .NET REST API development.

  • Covers everything involved in .NET REST API development, from creating your very first REST API from scratch, to securing your API, integrating a modern client portal and full deployment to the Azure cloud.

  • Are scattered all over the web and taught by multiple instructors

  • Provides a consistent learning path, carefully crafted by Julio and specifically designed to teach .NET REST API development from start to finish.

  • Usually involve copy pasted code and the instructor won't always explain the concepts behind what he is doing.

  • Every line of code is written and explained during the video lessons and all concepts, patterns and techniques are explained with didactic visuals before writting any code.

More Happy Customers

Unlock Building .NET REST APIs Today

This Course
All Courses
$ 197
lifetime access

  • Signature online video training
  • Full source code
  • Beautifully illustrated handouts
  • Course certificate
  • Discord server access
full course library

  • Instant access to the entire course library
  • Continuous access to new courses and updates
  • Low monthly fee
  • Course certificates
  • Discord server access
  • Cancel anytime

Meet Your Instructor


My name is Julio Casal. I'm a passionate software engineer with a wealth of experience building all sorts of applications and systems based on the .NET platform.

Throughout my 10+ years working at Microsoft, I had the opportunity to work on real-world projects, building and refining backend services that handle millions of requests every month.

I believe reducing complex concepts into simple step by step instructions is incredibly valuable and helps to make coding accessible and fun for everyone.

Learn one of the most loved web frameworks


Get the skills employers are looking for


Start your path to a high paying job



When does the course start and finish?

Building .NET REST APIs is a completely self-paced online course. You decide when you start and when you finish.

How many hours of video content are included in this course?

The total video content time is 10.5 hours.

What version of .NET and ASP.NET Core is used on this course?

.NET 8 and ASP.NET Core 8.

What do I need to know before taking this course?

You should have some basic knowledge of C#, the essentials of web development and some experience with relational databases.

Do you offer a certificate on course completion?

Yes, you will get a certificate at no additional cost after completing all the course lessons.

How long will I have access to the content?

Your enrollment includes unlimited lifetime access and free updates for life.

Will I use controllers to create APIs in this course?

No, in this course you will use minimal APIs.

I have more questions!

Happy to help! Send me an email: [email protected]