Pragmatic REST APIs

14h 44m 2s
English
Paid

Learn how to create production-ready REST APIs using the latest features of ASP.NET Core and best practices. Join over 6,400 students and enhance your API design skills.

Read more about the course

Course Structure

01. Introduction to REST

Start with a solid understanding of REST principles. Learn about the Richardson Maturity Model, the API-First approach, and set up your development environment for building reliable REST APIs.

02. Building REST APIs

Master HTTP methods, status codes, and REST best practices. Learn to implement CRUD operations, handle child resources, perform validation, and conduct search, filtering, sorting, and pagination.

03. HATEOAS and Change Management

Implement HATEOAS to enhance the discoverability of your APIs. Study content negotiation, API versioning strategies, and effective ways to manage changes in APIs.

04. Authentication and Authorization

Secure your APIs using token-based authentication, JWT, refresh tokens, and implement role- and attribute-based authorization. Learn to protect sensitive data and integrate with external APIs.

05. Client Integration

Learn how to integrate REST APIs with client applications. Build a React client, implement batch resource creation, and use HATEOAS to manage UI behavior. Master generating an HTTP client using OpenAPI specification for safe API consumption.

06. Advanced Aspects of REST API

Enhance your APIs with HTTP caching, optimistic locking, cursor-based pagination, rate limiting, and webhooks. Learn to create reliable and asynchronous REST APIs.

07. Testing REST APIs

Master various testing approaches, including unit, integration, and end-to-end testing. Learn to test external services using WireMock and set up automated testing in CI/CD pipelines.

08. Documenting REST APIs

Create comprehensive documentation for your API using OpenAPI/Swagger. Learn to document multiple API versions, describe authentication processes, and explore modern UI alternatives for documentation such as Scalar.

09. Deployment and Monitoring

Deploy your REST APIs on Azure, manage database migrations, and implement monitoring using Application Insights. Learn to automate deployment using GitHub Actions to create a reliable CI/CD pipeline.

More Than Just Theory

The Pragmatic REST APIs course includes not only theory.

Throughout the course, you will build a full-fledged REST API from scratch, starting with basic CRUD operations and ending with advanced features such as HATEOAS, authentication, and automated testing.

The course also includes bonus content to help you master modern approaches to REST API development:

Bonus Course #1 (20 minutes):

REST API Cases from Successful Companies

Analyze real REST APIs from successful companies, studying their design decisions, best practices, and implementation strategies.

Bonus Course #2 (50 minutes):

Building REST APIs with Minimal APIs

Learn to create lightweight and high-performance REST APIs using Minimal APIs in .NET and evaluate if they suit your needs.

Bonus Course #3 (52 minutes):

Integrating Auth0 as an Identity Provider

Learn how to integrate Auth0 for reliable authentication and authorization, as well as how to integrate it with client applications.

After completing the course, you will be able to:

  • Confidently build production-ready REST APIs.
  • Implement secure and scalable authentication systems.
  • Master testing and documenting REST APIs.
  • Confidently deploy your APIs in production.

Watch Online Pragmatic REST APIs

Join premium to watch
Go to premium
# Title Duration
1 Agenda, Your Instructor, Course Structure 06:52
2 How To Use This Course 03:06
3 Introduction 01:27
4 Introducing REST 19:40
5 Richardson Maturity Model 08:09
6 API-First 03:44
7 What We Will Build 03:38
8 Project Setup 28:40
9 Introduction 02:03
10 HTTP Methods 07:27
11 HTTP Status Codes 09:38
12 Designing REST APIs - Best Practices 13:42
13 Introducing the Database, EF Core 23:21
14 Getting Resources - GET 15:37
15 Creating Resources - POST 15:44
16 Updating Resources - PUT 12:03
17 Partially Updating Resources - PATCH 14:03
18 Deleting Resources - DELETE 07:44
19 Adding Another Resource 11:10
20 Working With Child Resources 24:58
21 REST API Validation, Problem Details 21:38
22 Exception Handling 12:20
23 Supporting Searching and Filtering 11:29
24 Supporting Sorting 24:19
25 Implementing Pagination 15:51
26 Supporting Data Shaping 22:03
27 Introduction 01:52
28 Hypermedia As The Engine Of Application State 10:41
29 Quick Code Refactoring 05:56
30 Implementing HATEOAS 31:16
31 Content Negotiation 12:10
32 API Versioning 06:47
33 Implementing API Versioning 14:42
34 API Change Management 09:04
35 A Quick Question 00:30
36 Introduction 01:54
37 Authentication in REST APIs 08:45
38 Adding the Users Resource 05:32
39 Introducing ASP.NET Core Identity 09:12
40 Implementing User Registration 14:49
41 Token Based Authentication, JWT 17:49
42 Supporting Refresh Tokens 10:33
43 Protecting Resources: Owner Authorization 15:00
44 Role-Based Authorization 09:31
45 Advanced Authorization - RBAC, ABAC 05:33
46 Integrating With External APIs 16:52
47 Protecting Sensitive Data With Encryption 11:16
48 Introduction 02:12
49 Introducing the React Client Application 16:12
50 Adding the Entries Resource, GitHub Integration 07:09
51 Batch Resource Creation 04:42
52 HATEOAS: Driving Client Behavior 10:18
53 OpenAPI and HTTP Client Generation 09:05
54 Introduction 02:00
55 HTTP Caching 16:21
56 Optimistic Locking, Concurrency Control 08:40
57 Cursor Pagination 16:42
58 Refit - Automatic HTTP Client Generation 10:11
59 HTTP Resilience, Polly 09:15
60 Rate Limiting and REST APIs 09:06
61 Idempotence and REST APIs 08:37
62 Webhooks 04:48
63 Building Asynchronous REST APIs 10:14
64 A Small Favor? 00:31
65 Introduction 01:19
66 Unit Testing and REST APIs 14:38
67 Unit Testing: The Complete Picture 03:43
68 Integration Testing REST APIs 18:47
69 Testing External Services Using WireMock 11:30
70 Integration Testing: The Complete Picture 05:07
71 Functional Testing - Creating End-to-End Tests 05:55
72 Automated Testing in CI/CD Pipelines 06:15
73 Introduction 01:51
74 OpenAPI Support in .NET 03:48
75 Introducing Swagger for Documenting APIs 05:51
76 Adding Rich REST API Documentation 08:38
77 Documenting Multiple API Versions 05:42
78 Documenting Authentication 04:29
79 Exploring OpenAPI UI Alternatives - Scalar 04:17
80 Introduction 02:09
81 Deploying the Client Application to Azure 06:41
82 Deploying the Database and Applying Migrations 09:41
83 Deploying the REST API to Azure 12:57
84 Adding Monitoring With Application Insights 08:38
85 Automating Deployments With GitHub Actions 15:38
86 A Note From Me + Small Ask 00:34
87 Case Study: Patreon API 19:41

Similar courses to Pragmatic REST APIs

Blazor WebAssembly

Blazor WebAssemblycode-maze.com

Category: C Sharp (C#)
Duration 8 hours 31 minutes 9 seconds
Mastering C# Unit Testing

Mastering C# Unit TestingJulio Casal

Category: C Sharp (C#)
Duration 3 hours 59 minutes 22 seconds
Complete C# Unity Game Developer 3D

Complete C# Unity Game Developer 3Dudemy

Category: Unity, C Sharp (C#)
Duration 30 hours 34 minutes 50 seconds
Full Time Game Dev

Full Time Game DevThomas Brush

Category: Unity, C Sharp (C#), Other (Gamedev)
Duration 35 hours 12 minutes 15 seconds
Pragmatic Clean Architecture

Pragmatic Clean ArchitectureMilan Jovanović

Category: C Sharp (C#)
Duration 6 hours 21 minutes 27 seconds