From Zero to Hero: REST APIs in .NET

From Zero to Hero: REST APIs in .NET

English | MP4 | AVC 1920×1080 | AAC 44KHz 2ch | 90 Lessons (4h 42m) | 1.20 GB

Build REST APIs the way billion-dollar companies do
When people say, “I want to build an API”, nowadays, they almost always mean a REST API. RESTful APIs have been the dominant way of building APIs nowadays and for a good reason. Their properties make them scalable and robust for the modern world of distributed computing, and even though they are far from the only way of building APIs, they are the most popular by a wide margin. In this course, Nick will teach you how to build REST APIs based on his experience building them for millions of users in billion-dollar companies.

Table of Contents

1 Welcome
2 What will you learn in this course
3 Who is the course for and prerequisites
4 What is REST
5 The 6 constraints of REST
6 Resource naming and routing
7 HTTP Verbs are meaningful
8 Using response codes to indicate status
9 Flexible response body options
10 Understanding Idempotency
11 Using hypermedia for connectedness
12 The different types of errors
13 Section recap
14 The system we will build an API for
15 Creating the projects
16 Defining the movie API contracts
17 Creating a temporary database
18 Creating the movies controller
19 Implementing movie creation
20 Introducing mapping
21 Keeping track of the endpoints
22 Implementing movie retrieval
23 Perfecting the movie creation endpoint
24 Implementing movie update
25 Implementing movie deletion
26 Why partial updates are not used
27 Section recap (2)
28 Implementing slug-based retrieval
29 Moving to a real database
30 Adding the database infrastructure code
31 Removing the old in-memory database
32 Adding a business logic layer
33 Implementing validation
34 Cancellation token passing
35 Section recap (3)
36 Authentication and Authorization in REST APIs
37 What is the JSON Web Token
38 The token generation service
39 Implementing JWT Authorization
40 Limiting actions for an admin
41 Limiting actions for a trusted member
42 Section recap (4)
43 The concept of movie ratings
44 Where should ratings live
45 Preparing the database
46 Using the user id
47 Updating the existing functionality to support ratings
48 Rating a movie
49 Deleting a rating
50 Retrieving user ratings
51 Section recap (5)
52 Filtering
53 Sorting
54 Pagination
56 Basic versioning
57 Advanced versioning
58 What is Swagger
59 Integrating versioning in Swagger
60 Integrating auth in Swagger
61 Extending Swagger documentation
62 Adding health checks
63 Implementing Response caching
64 Implementing Output caching
65 Implementing API-key based auth
66 Implementing multiple auth
67 Section recap (6)
68 Why create an SDK
69 Creating the SDK project and the client example
70 Introducing Refit
71 Retrieving movies
72 Using the HttpClientFactory
73 Adding authentication
74 Handling token generation and refreshing
75 Adding the remaining requests
76 Section recap (7)
77 What are Minimal APIs
78 Creating the new endpoint structure
79 Migrating movie retrieval
80 Migrating movie creation
81 Migrating movie listing
82 Migrating movie update
83 Migrating movie deletion
84 Migrating rating endpoints
85 Migrating Auth
86 Updating Swagger
87 Updating versioning
88 Updating output cache
89 Section recap (8)
90 Course conclusion