Implementing Advanced RESTful Concerns with ASP.NET Core 3
In this course you'll learn how improve your API with paging, sorting, and data shaping. You'll also learn how to make your API more evolvable and robust with HATEOAS and advanced content negotiation, and how to deal with caching and concurrency.
What you'll learn
In this course, Implementing Advanced RESTful Concerns with ASP.NET Core 3, you'll learn how to implement advanced RESTful concerns with ASP.NET Core 3. Implementing these will lead to a better, more evolvable API. You'll learn how improve your API with paging, sorting, and data shaping. You'll also learn how to make your API more evolvable and robust with HATEOAS and advanced content negotiation, and how to deal with caching and concurrency. By the end this course, you’ll know all about REST constraints and you’ll end up with a level 3 RESTful API, which is the highest possible level of maturity.
Table of contents
- Version Check 0m
- Coming Up 2m
- Positioning this Course 1m
- Tooling 2m
- Demo - Introducing the Demo Application 3m
- Recapitulating REST 7m
- Paging through Collection Resources 2m
- Demo - Paging through Collection Resources 9m
- Returning Pagination Metadata 4m
- Demo - Improving Reuse with a PagedList<T> Class 6m
- Demo - Returning Pagination Metadata 5m
- Summary 1m
- Coming Up 1m
- Sorting Resource Collections 4m
- Demo - Sorting Resource Collections 5m
- Creating a Property Mapping Service 3m
- Demo - Creating a Property Mapping Service 6m
- Demo - Creating a Reusable ApplySort Method 6m
- Demo - Adding OrderBy Clauses to Pagination Links 2m
- Demo - Taking Consumer Errors into Account When Sorting 5m
- Summary 1m
- Coming Up 1m
- Hypermedia as the Engine of Application State 9m
- Demo Introduction - Supporting HATOEAS 2m
- Demo - Implementing HATEOAS Support for a Single Resource 5m
- Demo - Implementing HATEOAS Support After POSTing 2m
- Demo - Implementing HATEOAS Support for a Collection Resource 3m
- Using HATEOAS for Pagination Links 1m
- Demo - Using HATEOAS for Pagination Links 2m
- Demo - Working Towards Self-discoverability with a Root Document 3m
- Other Approaches and Options 2m
- Summary 1m
- Coming Up 1m
- Revisiting the Contract Between Client and Server 2m
- HATEOAS and Content Negotiation 3m
- Demo - HATEOAS and Content Negotiation 6m
- Tightening the Contract Between Client and Server with Vendor-specific Media Types 3m
- Demo - Tightening the Contract Between Client and Server with Vendor-specific Media Types 6m
- Working with Vendor-specific Media Types on Input 1m
- Demo - Working with Vendor-specific Media Types on Input 12m
- Versioning in a RESTful World 5m
- Summary 2m
- Coming Up 1m
- Supporting the Cacheable Constraint 3m
- Cache Types 2m
- Response Cache Attribute and Middleware 1m
- Demo - Adding Cache Headers to the Response 2m
- Demo - Adding a Cache Store with the ResponseCaching Middleware 3m
- Demo - Using Cache Profiles to Apply the Same Rules to Different Resources 2m
- Expiration Model 5m
- Validation Model 9m
- Exploring Cache-control Directives 3m
- Summary 1m
- Coming Up 1m
- Supporting ETags 1m
- Demo - Adding Support for Generating ETags 5m
- Demo - Global Cache Header Configuration 3m
- Demo - Resource-level Cache Header Configuration 2m
- Demo - Dealing with Varying Response Representations 2m
- Demo - ETags and the Validation Model 4m
- Cache Stores and Content Delivery Networks 4m
- Cache Invalidation 2m
- Summary 1m