Pragmatic REST APIs

14h 44m 2s
English
Paid

Course description

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

This is a demo lesson (10:00 remaining)

You can watch up to 10 minutes for free. Subscribe to unlock all 87 lessons in this course and access 10,000+ hours of premium content across all courses.

View Pricing

Watch Online Pragmatic REST APIs

0:00
/
#1: Agenda, Your Instructor, Course Structure

All Course Lessons (87)

#Lesson TitleDurationAccess
1
Agenda, Your Instructor, Course Structure Demo
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

Unlock unlimited learning

Get instant access to all 86 lessons in this course, plus thousands of other premium courses. One subscription, unlimited knowledge.

Learn more about subscription

Comments

0 comments

Want to join the conversation?

Sign in to comment

Similar courses

C# Advanced Topics: Take Your C# Skills to the Next Level

C# Advanced Topics: Take Your C# Skills to the Next Level

Sources: udemy
Chances are you're familiar with the basics of C# and are hungry to learn more. Or you've been out of touch with C# for a while and are looking for a quick course as a refresher...
3 hours 7 minutes 18 seconds
Entity Framework Core - The Complete Guide (.NET Core 5)

Entity Framework Core - The Complete Guide (.NET Core 5)

Sources: udemy
Entity Framework is a term that goes hand by hand with ASP.NET Core. It is one of that technology that is used very often and is not understood most of the time. This course wil...
5 hours 24 minutes 16 seconds
TimCo Retail Manager Phase 1

TimCo Retail Manager Phase 1

Sources: iamtimcorey.com (Tim Corey)
Businesses today are using .NET Framework in their applications. Moving forward, they are going to need to upgrade to .NET Core. Will you be ready? This course works hard to mak...
25 hours 56 minutes 13 seconds