
Build an enterprise-grade restful API with ASP.NET Core, focusing on clean architecture, EF Core, and intentional REST principles. Learn logging, security, caching, documentation, and versioning to prepare for real deployments.
Explore the history of dotnet, understand why we need APIs, and review API types and nuances to reveal the power of developing an API with ASP.Net core.
Discover how dotnet acts as a runtime for C# apps, powered by the common language runtime, supports multiple languages, and enables cross platform development.
Explore how ASP.NET Core delivers a modern, cross-platform, high-performance web framework for .NET, open source on GitHub with a thriving community, supporting MVC, Razor Pages, and Blazor.
Learn what an API is and how web APIs enable communication via structured requests and responses. Explore RESTful services and why APIs power modern apps in ASP.NET Core.
Explore ASP.NET Core, a cross-platform, high-performance framework for building modern web APIs with built-in dependency injection, security, minimal APIs, and containerized, cloud-native scalability for enterprise apps.
Review dotnet history, future plans, and a clear roadmap, then explain APIs and why ASP.NET Core suits building them with reverse compatibility.
Set up your dotnet development environment with Visual Studio 2022, Visual Studio Code, and JetBrains Rider, the dotnet SDK and C# extensions, across Windows, Mac, and Linux, plus supporting accounts.
Install Visual Studio 2026 insiders community edition, select workloads like ASP.NET web development, Maui, Azure, and desktop development, and leverage dotnet ten and AI features.
Explore JetBrains Rider as a cross-platform, free for non-commercial use alternative to Visual Studio and Visual Studio Code, with built-in .NET development tools and a straightforward setup.
Create a GitHub account by signing up with your email and password, verify with a code, and explore followers, repositories, and collaboration features for backing up and referencing code.
Set up the .NET development environment by exploring Visual Studio, Visual Studio Code, the .NET SDK, the CLI, and JetBrains Rider.
Set up an ASP.NET Core Web API project using Visual Studio and Visual Studio Code, explore the file structure, models, and controllers, and compare standard API to minimal API projects.
Create an ASP.NET Core web API project in Visual Studio, name it hotel listing API, select .NET 9, enable OpenAPI, and use controllers in a shared solution.
Learn to create an ASP.NET Core web API project in Visual Studio Code using the C# Dev Kit, configuring template options, framework, authentication, https, OpenAPI support, and controllers.
Compare the standard api pattern using controllers with the minimal api pattern, highlighting endpoints defined in controllers versus in program.cs, and advise choosing based on project context.
Explore the ASP.NET Core web API project structure, including dependencies, launch settings, environment profiles, controllers and actions, and how the built-in testing tools and OpenAPI help verify endpoints.
Test the api by running without debugging in visual studio or visual studio code, and observe the json response from the weather forecast endpoint.
Explore the structure of standard and minimal ASP.NET Core Web API projects, compare components, and learn how requests are handled. Test the API with Visual Studio and Visual Studio Code.
Explore restful apis, the standards and best practices for building them, and how verbs, models, controllers, and json data transmission shape robust web apis.
Master RESTful APIs by exploring Representational State Transfer, HTTP verbs (GET, POST, PUT, DELETE), and CRUD operations on JSON-based resources accessed via endpoints.
Understand how http response codes indicate api outcomes, from 1xx to 5xx, and learn common codes like 200, 201, 400, 401, 403, 404, 409, and 500.
Implement a new hotels API endpoint by creating GET endpoints, serving an in-memory hotel list and enabling get by id, plus post, put, and delete with proper action results.
Implement post, put, and delete endpoints for a hotel resource in an ASP.NET Core Web API, using action results and JSON binding to handle 201, 204, 404, and 400 responses.
Test the new API endpoint with the endpoint explorer, generate requests for API/hotels, and run the API to perform get, post, put, and delete, observing created resource behavior.
Apply best practices for restful api design by using resource-named controllers, simple, logical urls, noun resources, correct http verbs, standardized responses, and thorough documentation.
Review RESTful API concepts, HTTP methods, response codes, and JSON usage while implementing a new endpoint. Test endpoints with in-memory data and perform CRUD, following RESTful best practices.
Master source control management with Git and GitHub, set up a GitHub account, and learn to sync projects using commits, pushes, and pulls.
Explore source control management as a collaborative, fault-tolerant way to track code changes, back up projects remotely, and enhance professional credentials, with a focus on git.
Discover git, a distributed version control system that tracks file versions for source control and collaborative development. Explore GitHub's cloud hosting and collaboration.
Learn how to sign up for GitHub, verify your account, and navigate your public profile to share repositories, collaborate, follow others, and synchronize projects between your IDE and GitHub.
Initialize a local git repository in Visual Studio, authenticate with GitHub, and push code to a remote repository while configuring gitignore and monitoring changes.
Install and configure git across platforms, then use Visual Studio Code to initialize a repository, publish to GitHub, and track changes with open-source source control visuals.
Master git basics in Visual Studio or Visual Studio Code: write clear commit messages, save changes locally, and push to GitHub or sync with the remote repository using commit options.
Master commits as units of changes, push and pull to keep local in sync with remote, avoid compiling errors, and use conflict resolution tools with Visual Studio or VS Code.
Explore Git, GitHub, and source control by creating a GitHub account, syncing local code to a remote repository for backup and fault tolerance, and reviewing common Git operations and keywords.
Explore how to model a database for our API using Entity Framework Core, including connection strings and migrations, to put a database in place to support our API.
Explore Entity Framework Core as an open source ORM for .NET that enables code first and database first workflows, with migrations, scaffolding, and seamless C# to SQL mapping.
Learn to add Entity Framework Core to a dotnet API project using NuGet, csproj, or the dotnet CLI, including SQL Server and design packages.
Learn how data model maps a class to a table, with properties as columns, and how Entity Framework Core uses keys, nullability, and navigation properties for country and hotels relationship.
Define a hotel listing db context to bridge your app and the database, expose db sets like countries, and enable EF Core code-first mapping and CRUD operations.
Learn to pull and run a Microsoft SQL Server image in docker, configure SA password, map ports, and connect via Microsoft SQL Server Management Studio across Windows, Mac, and Linux.
Add a hotel listing db connection string to appsettings.json and configure the hotel listing db context to use sql server on startup.
Understand migrations as version control for databases in code-first development, using EF Core tools to compare snapshots, generate migration files, and apply changes tracked in a history table.
Master database migrations with two approaches: Visual Studio with EF Core tools and the dotnet CLI, create an initial migration, and apply updates to sync the Hotel Listing DB.
Scaffold an existing database into your project with dotnet ef dbcontext scaffold, using a SQL Server connection string, and manage output folders and force overwrites.
Review and implement Entity Framework Core integration with SQL Server, create hotel and country entities, configure DbContext and migrations, then commit and push changes to GitHub.
Master EF Core code-first techniques to create and scaffold an existing database, configure connection strings, register the db context at startup, and apply migration best practices.
Explore scaffolding to generate CRUD API endpoints with EF Core, delivering RESTful methods without coding, and prepare to implement database driven APIs in ASP.NET Core.
Explore scaffolding, a code generation technique that creates boilerplate api controllers and data access layers from a model, powered by entity framework core via cli or ide, with production caveats.
Learn to scaffold a countries API controller in Visual Studio using Entity Framework, wiring up the db context and country model before tackling hotel dependencies.
Explain dependency injection of the hotel listing db context into the countries controller and expose api endpoints for listing, retrieving by id, updating, creating, and deleting using EF core.
Test country endpoints using get, post, put, and delete operations, observe database interactions via Entity Framework and SQL generation, and verify parameterized queries for security.
Refactor scaffolded controllers to modernize the codebase, applying namespace scoping with semicolons, primary constructors, and asynchronous patterns with await to improve readability without changing endpoints.
Review section concepts, evaluating scaffolding as a productivity tool and its limitations. Explore EF Core in context, test endpoints with live data, refactor boilerplate, and address security considerations.
Explore advanced scaffolding and complex data scenarios by scaffolding an API controller with CRUD endpoints, database-ready code, handling related data, and shaping multi-table queries for the API.
Scaffold the hotels api controller with entity framework core and wire the hotel model to the dbcontext. Test the crud endpoints and validate foreign key behavior with country ids.
Understand relationships in relational databases and how normalization reduces data duplication. Explore foreign keys, referential integrity, and EF Core include for loading related data.
Learn how to fetch related country data for hotels using EF Core eager loading with include, decide when to load details for related data, and troubleshoot cyclic reference errors.
Diagnose json object cycle errors caused by hotel and country models referencing each other. Learn to fix it by configuring Program.cs with a reference handler to ignore cycles or preserve.
Refactor the get-by-id endpoint to use first or default async with include. Load related data via navigation properties in EF Core and return 404 on null.
We review scaffolding, relationships and related data, address referential integrity errors, apply include with first or default, and discuss data shaping, validation, and boilerplate pitfalls to fortify the api.
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.