Creating ASP.NET Core 8 APIs
In this course, you will learn how to create APIs based on ASP.NET Core 8. You will gain practical knowledge on how to build, run and maintain ASP.NET Core 8 APIs.
This course comprehensively covers the creation and consumption of APIs, emphasizing important core principles. You will gain proficiency in testing, diagnostics, logging, optimizing performance, and security measures.
Target Audience and Prerequisites
This course is intended for developers. Basic knowledge of C#, HTML and .NET is assumed.
About the trainer
Gill Cleeren has been working with ASP.NET since its inception in the early 2000s and has guided numerous projects based around .NET to a success. He has been teaching about the subject for many years and is also the author of several ASP.NET courses on Pluralsight, including the successful ASP.NET Core Fundamentals and ASP.NET Core Blazor Fundamentals. He’s an MVP and Microsoft Regional Director.
Moving to .NET 8 and ASP.NET Core
This first module will give you an overview of the .NET 6 platform and its components. We will also look at the .NET Core CLI.
Finding your way around ASP NET Core MVC
In this module, we will together create the File > new project and see what is getting generated. You’ll learn about the new files, workflow and configuration options that come with ASP.NET Core.
Creating and consuming a first ASP.NET Core 8 API
Typically, developers will use REST to create ASP.NET Core APIs. In this module, we will learn about the principles of REST and how that aligns with ASP.NET Core and we will create a first ASP.NET Core API and see how we can consume that from a Blazor front-end.
Understanding core principles in ASP.NET Core APIs
Now that you have a basic understanding of APIs in ASP.NET Core, it’s time to dive deeper. We will learn the concept of controllers and the MVC pattern that’s used in ASP.NET Core as well as the other approach, namely Minimal APIs. While doing so, we will understand the basics of routing also used in ASP.NET Core.
Introducing Entity Framework Core
ASP.NET Core comes backed with support of a new version of Entity Framework Core. This new version of the framework has been redesigned from scratch to target .NET 8. In this module, we are exploring the new framework. We’ll see how it’s focuses entirely on code-first approaches.
Creating controllers in more detail
There’s more to creating ASP.NET Core controllers than what we have seen so far, including the different base classes, the ApiController attribute, action methods and attributes, model binding and filters. In this module, we will explore these and more!
Testing ASP.NET Core APIs
Building enterprise applications without a good set of tests is far from a recommended approach. In this module, we will explore how you can write unit tests for an ASP.NET Core API application using xUnit.
Diagnostics and Logging
Through middleware, ASP.NET Core applications can be configured to give diagnostic information to the users. Also, ASP.NET Core comes with a built-in logging system that we’ll explore in this module as well. We’ll also add some third-party logging providers here as well (Serilog).
Optimizing API performance
Performance is vital for ASP.NET Core applications. In this module, we will explore different options to optimize the performance of an ASP.NET Core API including asynchronous handling of requests, caching, throttling and more.
Documenting an API
APIs need to have a good documentation available for its users who depend on the service for their work. Using Swagger, it becomes easy to generate the service metadata and describe its functionalities. In this module, we will look at the OpenAPI specification, explore Swagger and Swashbuckle and more.
Authentication and authorization in APIs
Web APIs needs to be secured. In this module, we will look at the different options we have to secure the API we have built so far.
Creating ASP.NET Core APIs with Clean Architecture
So far, we have created a few standalone APIs. But how do we create a full-blown API application? In this module, we will learn about the principles of Clean Architecture and we will create an end-to-end API solution based on these principles.
Consuming our API
Now that we have a solid understanding of ASP.NET Core APIs, the next thing is using it from client applications. In this final module, we will create and use a Blazor front-end to work with the API.