Mô tả

Learn how to develop Minimal APIs with ASP.NET Core from scratch with this amazing course.

We are going to see the entire life cycle of developing a Web API, from creating the solution, developing the endpoints, working on resource manipulation, to putting it into production in Azure and IIS.

In this course we will do a project which you will be able to publish and show as part of your portfolio.

We will also learn how to use Azure DevOps to configure a Continuous Integration and Continuous Delivery pipeline, to be able to publish your projects from their source code in Github, Bitbucket, or any other GIT repository provider.

Some of the topics we will see are:

  • Creation of REST Web APIs

  • Create a database

  • Use Entity Framework Core to read, insert, update, and delete records from a database

  • Create a user system so that our clients can register and log in to the Web API

  • We will use Json Web Tokens (JWT) for authentication

  • Claims-based authorization, so that only some users can use certain endpoints

  • Using cache to have a faster application

  • Using Redis for distributed cache

  • We will use GraphQL so that customers can indicate exactly what they want to consult

Web APIs are fundamental in modern web development. Since they allow us to centralize and protect the logic of our solutions. In addition, it is in a Web API that we typically have access to a central database with which all your users can communicate. Whether you build a social network, a delivery application, or even an office app, a Web API allows you to work on the back-end of mobile applications (Android, iOS, MAUI, etc.), web (React, Angular, Blazor, Vue, etc.), desktop, among others.

Bạn sẽ học được gì

Build Web APIs with .NET Core

Publish Web APIs in Azure

Use Azure DevOps to configure continuous integration and continuous delivery (CI/CD)

Develop a Web API using Minimal APIs

Yêu cầu

  • Basic knowledge of C# (know what a class is, invoking functions, if statements, loops)

Nội dung khoá học

10 sections

Introduction

12 lectures
Introduction
00:26
Web APIs
02:33
Architecture of Our Solution
01:27
Web APIs Architectural Styles - REST
06:35
SOAP
01:36
GraphQL
02:48
What is .NET?
03:01
What is C#?
02:18
What is ASP.NET Core?
01:56
Controllers vs Minimal APIs
02:52
Summary
00:40
Github Repository
00:01

Creating the Web API

15 lectures
Introduction
00:11
Installing .NET
01:12
Installing Visual Studio
01:45
Installing Visual Studio Code
00:45
Installing SQL Server
02:18
Installing Postman
01:14
Creating the Web API with Visual Studio
00:56
Creating the Web API with the dotnet CLI
02:37
Solutions and Projects
02:39
Nullables and Implicit Usings
04:05
The LaunchSettings File
03:03
Configurations Providers - AppSettings
05:04
The Program Class
02:57
List of Genres
05:38
Summary
00:35

REST Principles

11 lectures
Introduction
00:22
Client-Server Separation - CORS
03:08
Visualizing the CORS Error
02:38
Enabling CORS Configuration in ASP.NET Core
04:49
Configuring CORS in Endpoints
03:48
Not Using State
01:22
Introduction to Cache
01:23
Implementing OutputCache
05:37
Layered-System
00:42
Documenting the Web API with Swagger
04:23
Summary
00:29

Introduction to Entity Framework Core

22 lectures
Introduction
00:22
What is a Database?
02:09
What is Entity Framework Core?
01:59
Entity Framework Core Versions
01:40
Code First vs Database First
02:54
Installing the EF Core CLI
01:27
Installing EF Core
07:16
Creating the Genre Entity
01:42
Creating Our First Migration
05:29
Configuring Columns
06:51
Inserting Genres
07:38
Selecting Genres
08:00
Cleaning Up the Cache
02:25
Ordering Records - OrderBy and OrderByDescending
01:41
Updating Genres
04:32
Deleting Genres
03:12
MapGroup
02:57
Going From Lambda Expressions to Named Methods
06:06
Group of Endpoints per Class
03:17
DTOs
06:34
AutoMapper
07:05
Summary
00:24

Actors, Movies and Comments

34 lectures
Introduction
00:17
Creating the Actor Entity
03:24
Actors CRUD
06:04
Endpoint for Inserting Actors
08:31
Preparing the App to Store Images
04:22
Azure Storage
09:10
Saving Files Locally
08:31
Getting Actors
03:41
Filters
04:11
Pagination
03:47
Implementing Pagination
08:00
Updating Actors
06:03
Deleting Actors
03:06
Creating the Movie Entity
02:18
Movies CRUD
04:42
Endpoint for Inserting Movies
06:53
Selecting Movies
05:14
Updating Movies
04:05
Deleting Movies
02:43
Creating the Comment Entity
04:22
Comments CRUD
03:13
Endpoint for Inserting Comments
05:48
Getting the Comments of a Movie
04:42
Updating and Deleting Comments
07:08
Getting a Movie and its Comments
02:02
Configuring a Many-to-Many Relationship between Genres and Movies
04:43
Assigning Genres to a Movie
06:51
Creating an Endpoint to Assign Genres
05:41
Configuring a Many-to-Many Relationship between Actors and Movies
03:20
Assigning Actors to a Movie
03:20
Creating an Endpoint to Assign Actors
05:44
Getting a Movie and its Genres and Actors
06:42
Ordering Related Data
02:21
Summary
00:19

Validations and Error Handling

20 lectures
Introduction
00:24
Validations - FluentValidation
02:02
Validating That a Field is Not Empty
05:29
Customizing Validation Errors
01:02
Multiple Validations on a Single Property
01:52
Customized Validation
02:36
Asynchronous Validation
05:47
Getting a Route Parameter
03:50
Multiple Validations on Multiple Properties
04:13
Reusing Validation's Settings
03:54
Introduction to Filters
04:06
Getting Arguments in Filters
03:54
Using Filters to Centralize Validations
04:55
Using a Generic Filter
02:43
Validating Comments
01:25
Validating Movies
01:41
Error Handling - Validating the Data Type
04:04
Modifying the Error Message
02:25
Saving the Error Message in a Database
07:34
Summary
00:17

Security

15 lectures
Introduction
00:28
Authentication and Authorization
02:49
Protecting Endpoints
03:15
Creating a Test JWT
05:53
Configuring Identity
05:08
Configuring JWTs
08:16
Registering Users
12:24
Login Users
04:45
Completing the Comment Entity
01:22
Creating the User Service
08:14
Updating and Deleting Comments
05:11
Configuring Claim-Based Authorization
04:47
Using the Admin's Claim
08:22
Renewing Tokens
03:46
Summary
00:42

Advanced Scenarios

27 lectures
Introduction
00:13
Logging
08:08
Model Binding
05:53
AsParameters
03:51
Bind Async
06:07
Using IParsable for Saving Code
02:38
Documenting the Web API - Adding Parameters
05:11
General Modifications to the Swagger Page
01:40
Adding Descriptions to Endpoints
01:58
Swagger and FromForm
01:16
Swagger and JWT
03:48
IParameterFilter to Personalize the Metadata of the Endpoints
04:04
Filtering and Ordering Movies
09:49
Deferred Execution
07:46
Ordering the Results of a Query Dynamically
04:06
Delimiting Options in the Ordering Field
01:21
Introduction to Distributed Cache
02:59
Installing Redis
00:52
Using Redis in ASP.NET Core
04:23
REST Limitations
02:37
Introduction to GraphQL
02:10
Installing GraphQL in ASP.NET Core
04:52
Making Queries in GraphQL
04:44
Adding the Other Entities
01:34
Making Mutations in GraphQL
03:48
GraphQL and JWT
01:00
Summary
00:32

Deployments

9 lectures
Introduction
00:25
Deploying to Azure App Service
04:48
Fixing an App that Won't Start
03:33
Fixing an Error in Production - Application Insights
07:48
Deploying to IIS
05:52
Introduction to Continuous Integration and Continuous Delivery
02:18
Continuous Integration in Azure DevOps
07:34
Continuous Delivery in Azure DevOps
06:52
Summary
00:42

The End

1 lectures
Congratulations
00:06

Đánh giá của học viên

Chưa có đánh giá
Course Rating
5
0%
4
0%
3
0%
2
0%
1
0%

Bình luận khách hàng

Viết Bình Luận

Bạn đánh giá khoá học này thế nào?

image

Đăng ký get khoá học Udemy - Unica - Gitiho giá chỉ 50k!

Get khoá học giá rẻ ngay trước khi bị fix.