Course Overview
Learn to build scalable, secure, and professional-grade Web APIs with ASP.NET Core and C#.
In this hands-on, step-by-step course, you’ll learn how to design, develop, and deploy modern RESTful APIs using ASP.NET Core, Entity Framework Core, and enterprise-ready best practices. Whether you’re an aspiring backend developer or an experienced engineer looking to sharpen your skills for .NET 9 / 10, this course will give you everything you need to create production-ready APIs confidently.
What You’ll Learn
Master the fundamentals of RESTful API design using ASP.NET Core.
Implement database access with Entity Framework Core and the Repository Pattern.
Secure your APIs using ASP.NET Core Identity, JWT authentication, and refresh tokens.
Handle logging and monitoring with Serilog and health checks.
Add versioning, caching, and request throttling for scalable APIs.
Generate live documentation using Swagger / OpenAPI.
Troubleshoot, document, and test APIs with various tools
Apply dependency injection and AutoMapper for DTO mapping.
Deploy APIs to Microsoft Azure
Manage your source control with GitHub.
Why Learn ASP.NET Core Web API?
ASP.NET Core is Microsoft’s modern, cross-platform framework for building high-performance APIs that power enterprise systems, web applications, and mobile backends. Learning how to create and manage APIs enables you to connect applications, services, and clients — from Blazor frontends to mobile apps and third-party integrations.
With C# and .NET Core, you gain one of the most in-demand skill sets in software development today — combining performance, scalability, and maintainability that organizations depend on.
Who This Course Is For
Developers who want to build production-ready RESTful APIs with .NET Core.
Backend engineers interested in API security, architecture, and best practices.
C# programmers looking to apply their skills in real-world web development.
Anyone preparing for a .NET developer or Azure-focused backend role.
Requirements
At least 3 months of C# experience
Basic understanding of object-oriented programming.
Visual Studio 2022, Visual Studio 2026, or Visual Studio Code installed.
If you’re new to C#, take my C# Console and Windows Forms Development with LINQ & ADO .NET course first for a strong foundation.
What Makes This Course Unique
This isn’t just theory. You’ll build a complete API step by step, learn from real debugging scenarios, and see how professional developers structure their projects for maintainability and scalability.
Every lecture includes practical examples, and all source code is hosted on GitHub so you can follow along and modify it for your own projects.
By the end, you’ll know how to confidently design, implement, secure, test, and deploy ASP.NET Core Web APIs like a pro.
FAQ
FAQ area empty
Course curriculum
-
Section Overview
62 -
Create ASP.NET Core API Project with Visual Studio
172 -
Create ASP.NET Core API Project with Visual Studio Code
157 -
Controllers vs Minimal APIs
268 -
Project Files Tour and Explanation
403 -
Presenting ASP.NET Core Web API Setup to a Senior Architect
0 -
Testing the API
269 -
Section Review
71
-
Section Overview
46 -
RESTful API Principles
363 -
HTTP Response Codes
284 -
Activity: Implement GET Endpoints
574 -
Activity: Implement PUT, POST and DELETE Endpoints
477 -
Conducting a REST API Design Review
0 -
Testing New API Endpoint
359 -
Best Practices and Recommendations
137 -
RESTful Decisions: You're the Lead API Developer
0 -
Section Review
61
-
Section Overview
46 -
What is Source Control Management
52 -
Introducing Git and GitHub
125 -
Sign Up for GitHub
153 -
Add to Source Control (Visual Studio)
389 -
Add to Source Control (Visual Studio Code)
294 -
Making A Commit
329 -
Understanding Git Operations
281 -
Preparing a GitHub Repository for Team Collaboration
0 -
Section Review
47
-
Section Overview
32 -
Understanding Entity Framework Core
295 -
Setup Entity Framework Core In API Project
319 -
Adding Data Models
466 -
Adding a Database Context
332 -
Optional: Setup SQL Server on Docker
618 -
Adding a Connection String and Configurations
674 -
Reviewing Entity Framework Core Database Models for an ASP.NET Core Web API
0 -
Understanding Migrations
172 -
Performing Database Migrations and Updates
485 -
Scaffolding a Database
351 -
Review and Add Changes to GitHub
267 -
Database Modelling with Entity Framework Core
0 -
Section Source Code
-
Section Review
195
-
Section Overview
66 -
Scaffold and Test Hotels API Controller
499 -
Understanding Related Data
233 -
Improve GET Endpoint To Fetch Related Data - Part 1
260 -
Fix: JSON Object Cycle Error
220 -
Improve GET Endpoint To Fetch Related Data - Part 2
497 -
API Endpoint Review: Refining Scaffolded Hotel API Controllers
0 -
Section Source Code
-
Section Review
153
-
Section Overview
64 -
The Importance of Validation
383 -
Explore and Implement Validation Rules
517 -
Understanding DTOs and Data Shaping
279 -
Adding DTOs for Data Data Validation and Data Shaping
476 -
Adding DTOs for Country Data Data Validation and Data Shaping
124 -
Refactor Hotels Controller to Use DTOs
934 -
Refactor Country Controllers to Use DTOs
512 -
Section Source Code
-
DTOs Under the Microscope: Secure, Shape, Validate
0 -
Section Review
146
-
Section Overview
44 -
What is a Service Layer?
369 -
Adding The Service Layer - Part 1
634 -
Understanding Dependency Injection
288 -
Using Dependency Injection
516 -
Adding The Service Layer - Part 2
790 -
Explaining the Benefits and Implementation of a Service Layer in ASP.NET Core Web API
0 -
Introducing AutoMapper
467 -
Implementing AutoMapper
414 -
Introducing The Results Pattern
428 -
Implementing Results Pattern
670 -
Refactor Controller to Use Results
430 -
Refinements and Optimizations
503 -
Test and Verify Application and Changes
282 -
Setting up a Service Layer
0 -
Section Source Code
-
Section Review
150
-
Section Overview
54 -
Introduction to Authentication & Authorization
106 -
Types of API Authentication Mechanisms
155 -
Setting Up Identity in ASP.NET Core API
572 -
Customizing Identity Tables
283 -
Add Default Identity Endpoints
546 -
Evaluating Security Awareness in API Design Discussions
0 -
Add Custom Authentication Endpoints
801 -
Add User Service and Refactor Endpoints
585 -
Basic Authentication
180 -
Implementing Basic Authentication
696 -
Testing Basic Authentication
358 -
Planning Secure Authentication for an ASP.NET Core API Project
0 -
API Key Authentication
219 -
Implementing API Key Authentication
491 -
API Key Testing and Improvements
504 -
JWT Authentication
242 -
Implement JWT Auth Parameters
402 -
Implement JWT Auth Scheme
348 -
Designing Secure ASP.NET Core Web API Endpoints with Authorization
0 -
Understanding Claims
244 -
Implement JWT Issuing
822 -
Testing JWT Auth
298 -
Understanding Roles
143 -
Seeding Default Roles and Assigning to Users
651 -
Testing Role Protected Endpoints
275 -
Supporting Multiple Authentication Schemes
438 -
Implementing API Security
0 -
Section Source Code
-
Section Review
147
-
Section Overview
51 -
Feature Requirements
180 -
Creating New Data Models
566 -
Adding Configurations and Migrations
550 -
Understanding RESTful Design: Resource Hierarchy & Context
276 -
Implementing Create Booking endpoints
381 -
Presenting the Hotel Booking Workflow Design
0 -
Implementing Booking Management Business Logic - Part 1
697 -
Implementing Booking Management Business Logic - Part 1
403 -
Implementing User Booking Management Endpoints and Business Logic
673 -
Implementing Hotel Admin Booking Management Endpoints and Business Logic
395 -
Ensuring Room Availability and Preventing Overlaps in Hotel Booking API Development
0 -
Implementing Authorization Policies
518 -
Advanced Authentication Filters
856 -
Advanced Validation
305 -
Refactoring and Code Clean Up
632 -
Production Readiness Review: Hotel Booking Lifecycle Management
0 -
Thorough Testing and Validation
968 -
Section Source Code
-
Section Review
80
-
Section Overview
48 -
Understanding Project Layout Patterns
253 -
Separate Core or Common Layer
671 -
Adding the Options Pattern
422 -
Separate Data Layer
474 -
Separate Application Layer
474 -
Test and Validate Functionality
373 -
Defending Architectural Choices for a Scalable and Maintainable ASP.NET Core Web API
0 -
IMPORTANT: Change in `dotnet ef` migration commands
-
Section Source Code
-
Section Review
145
-
Section Overview
55 -
Understanding Paging
148 -
Setup Paging Models
280 -
Add Paged Results Extension
438 -
Update Booking Service To Support Paging
189 -
Update Booking Controller To Support Paging
180 -
Challenge: Update Hotels Services and Controllers
341 -
Designing Intuitive and Scalable Paging for ASP.NET APIs
0 -
Test Paging Implementation
292 -
Understanding Filtering
51 -
Setup Filtering Models
271 -
Implement Filtering - Part 1
595 -
Implement Filtering - Part 2
542 -
Testing Filtering
286 -
Discussing and Optimizing Advanced Querying Features in an API
0 -
Some Best Practices
279 -
Section Source Code
-
Section Review
88
-
Section Overview
41 -
Understanding Caching
221 -
Different Caching Options
349 -
Add In-Memory Cache - GET
641 -
Invalidating Memory Cache - POST, PUT, DELETE
271 -
Testing Memory Cache
187 -
Implement Output Caching
773 -
Proposing a Caching Strategy for High-Traffic ASP.NET Core Web API
0 -
Additional Considerations
267 -
Section Review
63 -
Section Source Code
-
Section Overview
54 -
Understanding Logging
425 -
Install Serilog and Setup Bootstrapper
581 -
Efficient Structured Logging with Serilog
699 -
Install Seq
493 -
Applying Structured Logging in ASP.NET Core Web API
0 -
Setup Request Logging, Formatting and Enrichment
328 -
Choosing the Correct Log level
210 -
Global Exception Handling
613 -
Implement Problem Details in all Error Responses
282 -
Presenting a Global Exception Handling Strategy for ASP.NET Core Web API
0 -
Section Source Code
-
Section Review
83
-
Section Overview
66 -
Why API Versioning Matters
215 -
Implement API Versioning
530 -
Deprecating Endpoints
215 -
Why Documentation Matters
228 -
API Versioning Strategy Presentation and Review
0 -
Implementing Swagger
612 -
Informing the Swagger Doc using Code
563 -
Testing the API with Swagger
393 -
Reviewing Documentation for a Versioned ASP.NET Core Web API
0 -
OpenAPI Breaking Changes and Fixes
152 -
Section Source Code
-
Section Review
124
-
Section Overview
66 -
What is Microsoft Azure?
150 -
Get Started With Microsoft Azure
131 -
Checking Service Quotas
148 -
Create Azure SQL Database Resources
422 -
Reviewing Deployment Readiness for ASP.NET Core Web API on Microsoft Azure
0 -
General SQL Deployment Script
485 -
Update Database Schema
411 -
Publishing Using Visual Studio
342 -
Testing the Deployed API
641 -
Preparing an ASP.NET Core Web API for Production in Azure
0 -
Section Review
184
Requirment
-
A computer
-
The Internet
Outcomes
-
Build A Data Driven API using Entity Framework Core
-
How to Build RESTful APIs with proper practices
-
Configure Cross-Origin Resource Sharing (CORS)
-
Learn C# and Visual Studio Techniques
-
Enterprise Level Design Patterns
-
Using Production Grade Third-Party Tools
-
Troubleshoot and Fix Practical Errors
-
Use AutoMapper and Data Transfer Objects (DTOs)
-
Use NuGet Package Manager
-
Manage and Track Changes using GitHub
-
Asynchronous Programming
-
Custom Logging using SeriLog
-
Use Swagger UI Documentation
-
Deploy API to Microsoft Azure
-
API Versioning
-
API Caching
0 Student
2 Courses
0 review