Building a RESTful API with ASP.NET Core 3
Building an API is one thing, but building a truly RESTful API is something different. In this course, you'll learn how to build one using ASP.NET Core 3.
What you'll learn
In this course, you'll learn how to build a RESTful API with ASP.NET Core 3. Creating a truly RESTful API is quite different from creating a regular web API, but in this course, Building a RESTful API with ASP.NET Core 3 , you’ll learn how. You'll start by exploring how to interact with your API using the correct HTTP methods and status codes, and what method safety and idempotency are all about. Next, you'll learn how to validate input that’s sent to the API, and how to implement common features like filtering and searching. By the end this course, you’ll know all about REST constraints, what the advantages are, and how to implement them when building your API with ASP.NET Core 3.
Table of contents
- Coming Up 1m
- Structuring Our Outer Facing Contract 7m
- Demo - Implementing the Outer Facing Contract (Part 1) 4m
- Working with Endpoint Routing 3m
- Interacting with Resources through HTTP Methods 2m
- Demo - Implementing the Outer Facing Contract (Part 2) 4m
- Demo - Getting a Single Resource 3m
- The Importance of Status Codes 6m
- Errors vs. Faults 1m
- Demo - Returning Correct Status Codes 5m
- Enhancing Responses with Problem Details 1m
- Formatters and Content Negotiation 4m
- Demo - Working with Content Negotiation and Output Formatters 5m
- Summary 3m
- Coming Up 1m
- Outer Facing vs. Entity Model 2m
- Demo - Separating Entity Model and Outer Facing Model 5m
- Demo - Improving Action Return Types with ActionResult<T> 2m
- Demo - Adding AutoMapper to Our Project 3m
- Demo - Using AutoMapper 4m
- Demo - Working with Parent/Child Relationships 5m
- Demo - Returning a Single Child Resource 4m
- Demo - Handling Faults 5m
- Supporting HEAD 1m
- Demo - Supporting HEAD 1m
- Summary 2m
- Coming Up 1m
- Method Safety and Method Idempotency 3m
- Demo - Creating a Resource 10m
- Demo - Creating a Child Resource 7m
- Demo - Creating Child Resources Together with a Parent Resource 5m
- Demo - Creating a Collection of Resources 4m
- Demo - Working with Array Keys and Composite Keys 8m
- Demo - Handling POST to a Single Resource 2m
- Demo - Supporting OPTIONS 3m
- Demo - Supporting Additional Content-type Values and Input Formatters 3m
- Summary 2m
- Coming Up 1m
- Working with Validation in a RESTful World 4m
- Demo - Validating Input with Data Annotations 3m
- Validation and the ApiController Attribute 1m
- Demo - Class-level Input Validation with IValidatableObject 4m
- Demo - Class-level Input Validation with a Custom Attribute 4m
- Demo - Customizing Error Messages 1m
- Reporting Validation Errors 3m
- Demo - Customizing Validation Error Responses 3m
- Other Approaches: FluentValidation 1m
- Summary 2m
- Coming Up 1m
- PUT vs. PATCH 1m
- Demo - Updating a Resource (Part 1) 7m
- The Repository Pattern 3m
- Demo - Updating a Resource (Part 2) 7m
- Demo - Validating Input when Updating a Resource with PUT 8m
- Updating Collection Resources 1m
- Upserting 3m
- Demo - Upserting with PUT 4m
- Partially Updating a Resource 5m
- Demo - Partially Updating a Resource 10m
- Demo - Validating Input when Updating a Resource with PATCH 4m
- Demo - Returning ValidationProblems from Controller Actions 3m
- Demo - Upserting with PATCH 3m
- Demo - Validating Input when Upserting with PATCH 2m
- Summary 2m