Ultimate Asp.Net Core Web Api Development Guide

Posted By: ELK1nG

Ultimate Asp.Net Core Web Api Development Guide
Last updated 2/2023
MP4 | Video: h264, 1280x720 | Audio: AAC, 44.1 KHz
Language: English | Size: 4.43 GB | Duration: 10h 36m

Learn how to create a maintainable Web API using ASP.NET Core, Entity Framework and Enterprise Level Design Patterns

What you'll learn

Build A Data Driven API using Entity Framework .NET 6 / .NET 7

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

Requirements

A computer

The Internet

Description

OverviewLearn how to build a RESTful API using ASP.NET Core API, Entity Framework, and enterprise-grade practices for a scalable and future-proofed Web API solution. We will implement various support tools for logging, documentation, security, and error handling. ASP.NET Core, based on the new .NET 6 / .NET 7 runtime, is Microsoft's modern, cross-platform framework for building enterprise-ready web applications. In this course, you will learn everything you need to know about building a RESTful API using .NET Core 6 / 7, from understanding the folder structure and files to building and deploying a complete web REST API. Everything in this course is .NET 6 / .NET 7 compatible. Why Learn ASP.NET Core / .NET 6Microsoft .NET is the platform that drives the business technology of many of the top corporations in the United States and many other countries. It is the predominant technology used to drive enterprise-scale business technology. Companies have chosen .NET for its proven scalability, reliability, and support. Only a few technologies have achieved this level of stability, maturity, and speed. Creating a flexible yet stable technology is quite a feat, and that’s exactly what ASP.NET Core developers have achieved.The .NET language of choice to learn is C#, as it is among the most widely used languages today. It’s a general-purpose programming language that can handle almost any problem, from desktop to mobile to dynamic web applications. As such, there is a high demand across the world for .NET developers in various industries, which means that more jobs are available for candidates with a foundation built upon .NET technologies.Why Learn to Build An APIThe acronym API means Application Programming Interface. The ability to design and maintain an API is an important toolset for the modern web developer. It allows you to extend the accessibility of your software to external applications and other developers, leading to a more global software solution. REST APIs have become a standard in the industry because of their ability to serve essential functionality from any backend to any kind of frontend while catering to thousands of clients simultaneously. There is no time like now to skill up and start adding ASP.NET Core Web API to your skillset.Build A Strong Foundation in .NET Programming: Build a fully data-driven REST Web API using cutting-edge technology Test and Troubleshoot using PostmanCreate a database using Entity Framework CoreAuthor efficient queries using Entity Framework CoreGeneric Repository Pattern Dependency InjectionSetup Logging using SeriLogSetup API documentation using SwaggerUIUnderstand the REST design principles Understand C# 10 and .Net Core Web SyntaxSetup Identity Core for User Authentication and Authorization Understand user Authentication using JWT (JSON Web Tokens) Implement Refresh Tokens EndpointUnderstand how to use Data Transfer Objects (DTOs) and AutoMapper Manage Packages with NuGet ManagerAPI Caching, Versioning and Request Rate ThrottlingImplement API Health ChecksUnderstand .NET 6 / .NET 7 workflows, tools, and application developmentSetup GitHub for Source ControlDeploy Applications and Database to Microsoft AzurePREREQUISITESIn order to take this course, you should have at least 3 months experience programming in C#. If you need to strengthen your C# fundamentals, you can take my C# beginner course C# Console and Windows Forms Development with LINQ & ADO .NETContent and OverviewTo take this course, you will need to have some knowledge of Object Oriented Programming, if not C#. Even if you do not have much exposure to the .NET development stack, this course is very beginner friendly and chock full of development tips. Practical guidance is provided so you can achieve a tangible and valuable outcome, and you also are given a dose of theory on REST (Representational State Transfer), JSON (JavaScript Object Notation), DTOs (Data Transfer Objects), and the MVC (Model View Controller) architectural pattern.This is a huge course. Over 10 hours of premium content, but smartly broken up to highlight a set of related activities based on each module in the application that is being built. We will also look at troubleshooting and debugging errors as we go along; implementing best practices; writing efficient logic and understanding why developers do things the way they do. Your knowledge will grow, step by step, throughout the course and you will be challenged to be the best you can be.We don't do things the perfect way the first time; that is not the reality of writing code. We make mistakes and point them out and fix them around them. By doing this, we develop proficiency in using debugging tools and techniques. By the time you have finished the course you will have moved around in Visual Studio and examined logic and syntax errors so much, that it will be second nature for you when working in the .NET environment. This will put your new learned skills into practical use and impress your boss and coworkers.The course is complete with working files hosted on GitHub, with the inclusion of some files to make it easier for you to replicate the code being demonstrated. You will be able to work alongside the author as you work through each lecture and will receive a verifiable certificate of completion upon finishing the course.Clicking the Take This Course button could be the best step you could take towards quickly increasing your income and marketability! Also, remember that if you don't think the course is worth what you spent, you have a full 30 days to get a no questions asked refund!It's time to take action! See you in the course!

Overview

Section 1: Introduction

Lecture 1 Introduction

Lecture 2 Fundamental REST API Development Principles

Section 2: Environment Configuration

Lecture 3 Install Visual Studio 2022 Community Edition

Lecture 4 Setup GitHub Account

Lecture 5 Install and Explore PostMan

Section 3: Project Setup and Configurations

Lecture 6 Create ASP.NET Core API Project with Visual Studio

Lecture 7 Create ASP.NET Core API Project with Visual Studio Code

Lecture 8 Explore ASP.NET Core API Project and Explore Swagger UI

Lecture 9 Controllers vs Minimal APIs

Lecture 10 CORS Configuration

Lecture 11 Configure Serilog and Seq

Lecture 12 Add Serilog Request Logging

Lecture 13 Review and Add Changes to GitHub

Lecture 14 Section Source Code

Section 4: Database Modelling and Entity Framework

Lecture 15 Section Overview

Lecture 16 Setup Entity Framework In API Project

Lecture 17 Implement Data Classes and Perform Migrations

Lecture 18 Handling Migrations Using Terminal (Non-Windows machines)

Lecture 19 Seed Data In Tables

Lecture 20 Review and Add Changes to GitHub

Lecture 21 Section Source Code

Section 5: Scaffolding API Functionality

Lecture 22 Section Overview

Lecture 23 Scaffolding Controllers and Actions

Lecture 24 Key Terms and Definitions

Lecture 25 Test and Understand POST Endpoint

Lecture 26 Test and Understand GET Endpoints

Lecture 27 Test and Understand PUT Endpoint

Lecture 28 Test and Understand DELETE Endpoint

Lecture 29 Review and Add to GitHub

Lecture 30 Section Source Code

Section 6: REST API Development Best Practices

Lecture 31 Section Review

Lecture 32 Refactor POST Method with Data Transfer Object

Lecture 33 Introducing AutoMapper

Lecture 34 Refactor GET Methods

Lecture 35 Refactor PUT Method

Lecture 36 Implement Repository Pattern - Part 1

Lecture 37 Implement Repository Pattern - Part 2

Lecture 38 Refactor Controller to Use Repository

Lecture 39 Review and Add to GitHub

Lecture 40 Section Source Code

Section 7: Creating Additional API Behaviours

Lecture 41 Section Review

Lecture 42 Scaffolding Controller and Actions

Lecture 43 Setup Repository

Lecture 44 Setup Data Transfer Objects and Refactor Controller

Lecture 45 Testing Changes

Lecture 46 Review and Add to GitHub

Lecture 47 Section Source Code

Section 8: Securing Your API

Lecture 48 Section Overview

Lecture 49 Setup User Identity Core

Lecture 50 Add Default User Roles

Lecture 51 Setup Auth Manager For Registration

Lecture 52 Setup Registration Endpoint

Lecture 53 Setup Login Endpoint

Lecture 54 *FIX* - Login Logic

Lecture 55 Implement JWT Authentication - Part 1

Lecture 56 Implement JWT Authentication - Part 2

Lecture 57 Protecting Endpoints

Lecture 58 Implement Refresh Tokens

Lecture 59 *FIX* - Refresh Token With Login

Lecture 60 Review and Add Changes to GitHub

Lecture 61 Section Source Code

Section 9: Value Added Features

Lecture 62 Add Logging

Lecture 63 Global Error Handling

Lecture 64 Implementing API Versioning

Lecture 65 Implement Caching

Lecture 66 Implement Paging

Lecture 67 Exploring OData

Lecture 68 Project Architectural Changes

Lecture 69 Fix Scaffolding and Migrations

Lecture 70 Repository Refactor

Lecture 71 Controller Refactor

Lecture 72 Add JWT Authentication to Swagger Doc

Lecture 73 Add API Service Health Checks

Lecture 74 Review and Add Changes to GitHub

Lecture 75 Section Source Code

Section 10: API Hosting and Deployment (IIS and Azure)

Lecture 76 Create Microsoft Azure Account

Lecture 77 Deploy Application and Database to Microsoft Azure

Section 11: Conclusion

Lecture 78 Conclusion

Section 12: BONUS Section

Lecture 79 Bonus Lecture

Anyone who wants to learn REST API Development,Anyone who wants to learn .NET Core Development and Programming,Anyone who wants to learn application and hosting and database hosting on Azure,Everyone