C Minimal Web API Fundamentals

Learn the skills you need to become proficient at C# Minimal Web API programming
C Minimal Web API Fundamentals
File Size :
2.19 GB
Total length :
4h 25m

Category

Instructor

Paul D. Sheriff

Language

Last update

3/2023

Ratings

0/5

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

C Minimal Web API Fundamentals

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

New Courses

Scroll to Top