Need a private training for your team? Request a private training
Not ready to book yet? Request an offer
You can't start developing for the web without knowing the fundamentals. This module talks about the HTTP protocol used to request resources from the server. We'll explore the history and details of what is used for a browser and for a server to make sure the communication is legitimate.
In this module you will get acquainted with the most important building blocks for any ASP.NET Core Web API application. You will create a project, see how Minimal APIs and controllers compare, and build one of each. This is the foundation of all following chapters.
A good API is designed before it is written. REST is more than mapping HTTP methods onto a database: it is a set of constraints that make your API predictable for the people consuming it. In this module you will learn how to organise your resources, how to shape requests and responses, and how to design an error contract your clients can rely on.
ASP.NET Core is Microsoft's framework for building all sorts of modern web applications. In this module we'll take a look at how it processes requests, and how the services your application needs end up in the container.
Dependency Injection is the art of decoupling an object from its dependencies. On top of improving maintainability and separation of concerns, it also makes testing a lot easier. This module shows you what is wrong with tightly coupled code, and how an Inversion of Control container solves it.
ASP.NET Core comes with a dependency injection container built right in. In this module you will register and consume your own services, pick the right life-cycle for each of them, and learn to recognise the mistakes that are easy to make along the way.
On the web the URL decides what the server will do. In ASP.NET Core you will find the Endpoint Routing Middleware. A solid understanding of this middleware is required to build applications with ASP.NET Core.
People could be sending any data to your API. So you should always validate your input. In this module we'll first look at how ASP.NET Core turns a raw request into your model, and then explore best practices for input validation, including built-in ASP.NET Core validation and the popular FluentValidation library.
What comes out of your API matters just as much as what goes in. In this module you will learn how to return data from both controllers and Minimal APIs, how to pick a status code that actually says something, and how content negotiation decides the format of your response.
Logging, error handling and authorization checks are needed all over your application, but you don't want to repeat them in every single endpoint. ASP.NET Core gives you middleware, endpoint filters and controller filters to do exactly that. In this module you will learn which one to reach for.
ASP.NET Core allows you to pick and choose where to store your configuration. No more deploying configuration with production settings in source control! We will look at the idea behind this and of course how to choose your ideal configuration.
Most Web APIs expose data that lives in a database. Entity Framework
Core is the default way to get to that data in .NET. In this module you
will learn how to use a DbContext in a Web API, how to keep
your queries efficient, and how to shape the result you hand back to the
client.
DbContext in a Web APIWhen you want to consume a REST service, you are dependent on the documentation of the service. And developers don't like to write documentation. No problem: using OpenAPI you can automatically generate the necessary metadata for describing your service functionalities.
Your API will change, but your clients will not change along with it. In this module you will learn how to add new features without breaking the consumers you already have, and how to warn them when a version is on its way out.
Security is a world on its own. In this module we'll explore common techniques to secure your Web API.
Securing your API is not only about who is calling. You also decide which frontends are allowed to talk to you, and you make sure a single client cannot take your service down.
This module reveals some great ways to keep your API quick and responsive. Ranging from tweaks that decrease load on the server, to dealing with large resources in an efficient way, improving startup time and resource efficiency.
After spending a lot of time building your shiny new Web API, it's time to jump over the fence and take a look at how people will consume it. In this module you will learn how .NET applications, as well as JavaScript applications can easily consume your Web API.
HttpClientReal-time updates are no longer a "nice-to-have" feature. With the release of ASP.NET Core 10, we finally have a native, high-level API for Server-Sent Events (SSE). It bridges the gap between basic HTTP polling and full-duplex WebSockets via SignalR. We will also introduce a couple of patterns that allow you to decouple requests from their responses, so your clients don't get bogged down by your service.
Every developer aspires to write code that is not only clean but also functional. However, achieving code that is easily maintainable and consistently operational poses a significant challenge. We will explore the role of unit testing in verifying the correctness of our code and ensuring its continued functionality.
Testing a Web API brings its own challenges: your code is called by the framework, not by you. In this module you will apply what you learned to controllers, filters and Minimal API endpoints.
WebApplicationFactoryASP.NET Web API makes it easy to build REST APIs that reach a broad range of clients, including web and mobile applications. Along with best practices and modern design techniques, this training will guide you towards understanding API architecture, security considerations, and how to build a REST API with ASP.NET Core that is both extensible and flexible.
Participants of this course need to have a solid understanding of the .NET platform and building .NET applications using C#.