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
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