Interested in a private company training? Request it here.
For .NET developers, ASP.NET Web API is the way to create REST services. This module introduces students to the REST architecture, and the framework that brings it to ASP.NET Core. Throughout the training, students will learn best practices for building internal APIs (first-party clients) and Public APIs (third-party clients).
In this module you will get acquainted with the most important building blocks for any ASP.NET Web API application. This is the foundation of all following chapters.
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.
Controllers are responsible for the flow control logic in your application. ASP.NET Core has some tricks up its sleeve to optimize your controllers for Web APIs. In this module, we will explore them and apply them to our application.
Controller
and ControllerBase
ClassesApiController
attributeDependency 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. In this module you will use dependency injection to create your first unit tests.
Web APIs expose your data to external clients. In this module you will learn how to model the data you expose correctly so that it becomes easy to maintain and easy to consume.
People could be sending any data to your API. So you should always validate your input. Here we will look at best practices, validation options, and how to send feedback in case of errors.
Returning a 202 Accepted status code is easy. When to return it, that's another question. In this topic we'll dive into some best practices to create a properly designed API.
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, and throttling requests to prevent abuse.
Once you release your API, your work is done, right? Not exactly. How do you handle a changing domain model? What's the best way to keep track of who's using your API? In this module, we take a look at how to manage an in-production API
When 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 Swagger you can automatically generate the necessary metadata for describing your service functionalities.
Security is a world on its own. In this module we'll explore the common techniques to secure your Web API.
While REST is all about exposing resources in a uniform way, for first-party clients, it might be a better idea to expose actions. The haydays of SOAP are far behind us, but newer and better technologies like gRPC have taken its place. In this module you'll learn all about when and how to use Remote Procedure Calls.
When long-running operations get triggered, you don't want to make your clients wait for them to finish. In this module we will 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.
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.
ASP.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 extended 5-day training will guide you towards understanding API architecture, security considerations, and how to build a REST API with ASP.NET 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#.