C Minimal Web API Fundamentals
What you’ll learn
What is a Minimal Web API?
Build a Minimal Web API Project
Use PostMan and Swagger to Test API Calls
Using the MapGet(), MapPost(), MapPut() and MapDelete() Methods
Build a Router Base Class to Simplify Your Minimal APIs
Add Logging to your Web API Calls
Add Exception Handling to your Web API Calls
Develop a Complete Set of CRUD APIs
Call your Web APIs from JavaScript/jQuery
Add CORS to Allow Cross-Domain Calls
Securing Minimal Web APIs
Creating Asynchronous API Calls
Requirements
To get the most out of this course, I assume you are very familiar with the C# language, Visual Studio or Visual Studio Code. You should also have a basic familiarity with web programming.
Description
Using Web APIs, you can write code to expose just what you want to the outside world. Traditionally you used MVC with controllers to create Web APIs. Starting with .NET 6, Microsoft released a new method for creating Web APIs called the Minimal Web API. This new approach is simpler than MVC. In this course you learn how to use these minimal calls and how best to architect them to provide scalability and ease of maintenance. Even if you have never created a Minimal Web API before, this course guides you step-by-step through the entire process.In this course you are provided with an overview of the new Minimal Web APIs paradigm. You build a Minimal Web API project and learn to consume Web APIs using Postman and Swagger. You learn the standard methods for getting, inserting, updating, and deleting data. You build a set of CRUD APIs to allow a developer to interact with your database. You then build a set of classes that make working with minimal APIs much simpler. You are going to see how to call your APIs via JavaScript/jQuery and how CORS is added to allow cross-domain access. Finally, the basics of securing your minimal Web APIs is covered.All the demos you are shown during this course are backed up with a set of labs for you to perform. Walking through these labs step-by-step ensures that you understand the concepts illustrated in each lesson. You are going to see approximately 90 demos, be asked over 65 questions, and perform over 75 hands-on labs.Join Paul D. Sheriff, one of the best instructors in the industry, on your journey to becoming a C# Web API developer using the Minimal Web API.
Overview
Section 1: Introduction
Lecture 1 Introduction
Section 2: Web API Fundamentals
Lecture 2 What is a Web API
Lecture 3 HTTP Status Codes and Verbs
Lecture 4 ASP.NET and It’s Components
Lecture 5 Routes, Endpoints and Dependency Injection
Lecture 6 Middleware Fundamentals
Lecture 7 Minimal Web API Overview
Lecture 8 MVC Web API Overview
Section 3: Create a Web API Project and Test using Swagger/Postman
Lecture 9 Create a Minimal API Project Using VS Code
Lecture 10 Create a Minimal API Project Using Visual Studio 2022
Lecture 11 Using Postman to Test APIs
Lecture 12 Add Swagger/Open API Support to VS Code
Lecture 13 Add Swagger/Open API Support to Visual Studio 2022
Lecture 14 Comment the Program.cs File for Better Readability
Lecture 15 Finished Lab Samples
Lecture 16 Sample Code Demonstrated in this Section
Section 4: Routes and Return Types
Lecture 17 Creating Your First Minimal APIs
Lecture 18 Specifying Return Types
Lecture 19 Return an Object
Lecture 20 Return a List of Product Objects
Lecture 21 Return a Single Product from Repository
Lecture 22 Return a 404 Not Found for a Single Product
Lecture 23 Return a 404 Not Found for List of Products
Lecture 24 Grouping APIs
Lecture 25 Documenting Return Values
Lecture 26 Lab: Starting Code
Lecture 27 Finished Lab Samples
Lecture 28 Sample Code Demonstrated in this Section
Section 5: Using Dependency Injection
Lecture 29 Dependency Injection Overview
Lecture 30 Service Lifetimes
Lecture 31 Create a Settings Class and Use as a Scoped Lifetime
Lecture 32 Differences Between Scoped and Singleton Settings
Lecture 33 Using an Interface in Dependency Injection
Lecture 34 Finished Lab Samples
Lecture 35 Sample Code Demonstrated in this Section
Section 6: Organize your APIs Using Router Classes
Lecture 36 Using a Router Class
Lecture 37 Create Router Base Class and Product API Router Class
Lecture 38 Get Single Product in Router Class
Lecture 39 Injecting Into Router Classes
Lecture 40 Create the Simple API Router Class
Lecture 41 Create the Settings API Router Class
Lecture 42 Finished Lab Samples
Lecture 43 Sample Code Demonstrated in this Section
Section 7: Add Logging to Web API Calls
Lecture 44 How Logging Works in Web API Projects
Lecture 45 Logging Messages to the Console Window
Lecture 46 Setting the Log Level Through the Configuration File
Lecture 47 Logging an Object Using the JSON Serializer
Lecture 48 Logging to a Text File Using Serilog
Lecture 49 Finished Lab Samples
Lecture 50 Sample Code Demonstrated in this Section
Section 8: Add Exception Handling to Web API Calls
Lecture 51 Built-In Exception Handling
Lecture 52 Exception Router Class
Lecture 53 Development and Production Exception Handling
Lecture 54 Different Profiles for Development and Production
Lecture 55 Handling 404 Status Codes
Lecture 56 Log Exceptions Into a Different File
Lecture 57 Log Exceptions in a Catch Block
Lecture 58 Finished Lab Samples
Lecture 59 Sample Code Demonstrated in this Section
Section 9: Modify RouterBase Class to Reduce Duplicate Code
Lecture 60 Add Properties to Router Base Class
Lecture 61 Add Exception Handling to RouterBase
Lecture 62 Add a Serialize Entity Method
Lecture 63 Finished Lab Samples
Lecture 64 Sample Code Demonstrated in this Section
Section 10: Reading Configuration Settings Efficiently
Lecture 65 Configuration Providers and JSON Files
Lecture 66 Reading Settings Individually
Lecture 67 Read Settings into a Class
Lecture 68 Assign Config Settings Directly to Object
Lecture 69 Read Settings in Program.cs
Lecture 70 Finished Lab Samples
Lecture 71 Sample Code Demonstrated in this Section
Section 11: Configure and Format JSON Data
Lecture 72 Formatting JSON Using Attributes
Lecture 73 Format JSON Using Configuration Options
Lecture 74 Ignore Read-Only Properties & Customer Formatters
Lecture 75 Finished Lab Samples
Lecture 76 Sample Code Demonstrated in this Section
Section 12: Call Mimimal Web APIs From Client-Side and Setup CORS
Lecture 77 Create an MVC Website
Lecture 78 Call a Web API from JavaScript/jQuery
Lecture 79 Add CORS to Enable Cross Domain Calls
Lecture 80 Finished Lab Samples
Lecture 81 Sample Code Demonstrated in this Section
Section 13: Organizing the Program.cs File for Readability
Lecture 82 Create a Constants Class
Lecture 83 Create Extension Methods
Lecture 84 Extension Methods for JSON and Serilog Configuration
Lecture 85 Extensions for Settings, Repository, and Router Classes
Lecture 86 Finished Lab Samples
Lecture 87 Sample Code Demonstrated in this Section
Section 14: Securing Web APIs with JSON Web Tokens
Lecture 88 Security in ASP.NET
Lecture 89 Add and Configure Authentication and Authorization
Lecture 90 An Explanation of JSON Web Tokens
Lecture 91 Add JWT to your Web API Project
Lecture 92 Register JWT Authentication with ASP.NET
Lecture 93 Create Security Classes
Lecture 94 Create Security Manager Class for Authentication
Lecture 95 Generate JWT and Authenticate User
Lecture 96 Display Contents of JWT at jwt.io
Lecture 97 Add JWT Support in Swagger
Lecture 98 Secure an Endpoint Using Claims
Lecture 99 Handling 401 and 403 Status Codes
Lecture 100 Finished Lab Samples
Lecture 101 Sample Code Demonstrated in this Section
Section 15: Get Data From a Database Using the Entity Framework
Lecture 102 Install the Entity Framework into your Project
Lecture 103 Add Data Annotations to Product Class
Lecture 104 Create DbContext Class and Add Connection String
Lecture 105 Add DbContext Class to Services Container
Lecture 106 Get Products from the SQL Server Table
Lecture 107 Get a Product from the SQL Server Table
Lecture 108 Finished Lab Samples
Lecture 109 Sample Code Demonstrated in this Section
Section 16: Adding, Editing, Deleting, and Validating Data
Lecture 110 Add Modification Methods to Repository Class
Lecture 111 Add Insert Method to Product Classes
Lecture 112 Add Update Method to Product Classes
Lecture 113 Add Delete Method to Product Classes
Lecture 114 Add Validation Data Annotations to Product Class
Lecture 115 Add a Validation Helper Class
Lecture 116 Modify the Insert() Method to Check Validation
Lecture 117 Modify the Update() Method to Check Validation
Lecture 118 Finished Lab Samples
Lecture 119 Sample Code Demonstrated in this Section
Section 17: Create Reusable Searching Methods
Lecture 120 Create a SearchBase and ProductSearch Class
Lecture 121 Add BindAsync() Method to Search Class
Lecture 122 Add Search Methods to Product Repository
Lecture 123 Add Search Methods to IRepository Interface
Lecture 124 Add Search Route and Test
Lecture 125 Finished Lab Samples
Lecture 126 Sample Code Demonstrated in this Section
Section 18: Making Asynchronous API Calls
Lecture 127 Introduction to Asynchronous
Lecture 128 How Asynchronous Web API Calls Work
Lecture 129 Introduction to async, await and Task
Lecture 130 A Simple Sync/Async Demonstration
Lecture 131 Getting All Products Asynchronously
Lecture 132 Get a Single Product Asynchronously
Lecture 133 Add all Other CRUD Asyncronous Calls
Lecture 134 Finished Lab Samples
Lecture 135 Sample Code Demonstrated in this Section
If you are a C# web developer, at some point you are probably going to need Web APIs. If you are a front-end developer using Angular, React, JavaScript, jQuery, etc. you should be familiar with how to create Web APIs so you can consume them effectively. If you are already developing Web APIs using MVC, this course exposes you to the new Minimal Web APIs. If you are a development manager or a QA person who workings with developers creating Minimal Web APIs, after watching this course you will be better equipped to work with those developers.
Course Information:
Udemy | English | 4h 25m | 2.19 GB
Created by: Paul D. Sheriff
You Can See More Courses in the Developer >> Greetings from CourseDown.com