\n\t
\n\tAn overview of ASP.NET Core and ASP.NET Core APIs<\/strong> In this first chapter, we will make sure we\u2019re all on the same page about ASP.NET Core and creating APIs with the technology. Although having previous experience with ASP.NET Core will come in handy, you will learn all that\u2019s required about some of the foundational concepts such as dependency injection, middleware and more.<\/p><\/div>\n\t\t<\/div>\n\t<\/div>\n\n\n\n\n\t\t\n\t\t\t
\n\t\t\t\n
\n\t
\n\tIntroducing core architectural principles and clean architecture<\/strong> Clean architecture is in essence not much more than applying well-known architectural principles in a correct way. Most developers will know these but we will start with an overview of these. Next, we will inspect the concept of clean architecture and the different parts that make up the structure of it.<\/p><\/div>\n\t\t<\/div>\n\t<\/div>\n\n\n\n\n\t\t\n\t\t\t
\n\t\t\t\n
\n\t
\n\tCreating the application core<\/strong> We will start the creation of our application from the very core. In this chapter, we will understand how to structure code around contracts, apply clean structuring, add CQRS, implement business rules and much more. We will see how common packages such as Mediator and AutoMapper can be used correctly here.<\/p><\/div>\n\t\t<\/div>\n\t<\/div>\n\n\n\n\n\t\t\n\t\t\t
\n\t\t\t\n
\n\t
\n\tAdding the infrastructure layer<\/strong> So far, our code is nicely structured but it doesn\u2019t \u201cdo\u201d a lot yet. That\u2019ll quickly change in this chapter when we start adding infrastructure concerns. This will bring in functionalities such as data access based on EF Core and working with external services.<\/p><\/div>\n\t\t<\/div>\n\t<\/div>\n\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n\n\n\n\t
\n\t\t\n\tDay 2<\/h2>\t\t\n\t\t\n\t\t\t\n\t <\/svg><\/i>\t\t<\/span>\n\t<\/button>\n\n\t\n\t\t
\n\t\t\t\n\n
\n\t\t\n\t\t\t
\n\t\t\t\n
\n\t
\n\tAdding an API<\/strong> We\u2019ve written a lot of code already but now we\u2019ll want to see the fruits of our hard labor. We\u2019ll start with the creation of the API that\u2019ll use the core and infrastructure code that we have created. On this API, we\u2019ll also enable the use of Swagger so that it can more easily be consumed from clients.<\/p><\/div>\n\t\t<\/div>\n\t<\/div>\n\n\n\n\n\t\t\n\t\t\t
\n\t\t\t\n
\n\t
\n\tWriting tests<\/strong> We started of with the idea that the code we\u2019re going to create is more testable, so now the proof is in the pudding. We\u2019ll create tests for the different parts of the application that we have written so far.<\/p><\/div>\n\t\t<\/div>\n\t<\/div>\n\n\n\n\n\t\t\n\t\t\t
\n\t\t\t\n
\n\t
\n\tUnderstanding ASP.NET Core Blazor<\/strong> Blazor introduces a radical new way for .NET developers to build client-side applications and since .NET 8, also server-side rendered applications. We will in this chapter understand the core concepts of Blazor, which we\u2019ll use to consume the API.<\/p><\/div>\n\t\t<\/div>\n\t<\/div>\n\n\n\n\n\t\t\n\t\t\t
\n\t\t\t\n
\n\t
\n\tAdding the Blazor UI<\/strong> Although it\u2019s not the focus of this course to create a UI, it\u2019s definitely useful to see how we can interact with our newly created API. In this chapter, we will learn how we can generate code for the client and we\u2019ll build the Blazor app together that uses the API.<\/p><\/div>\n\t\t<\/div>\n\t<\/div>\n\n\n\n\n\t\t\n\t\t\t
\n\t\t\t\n
\n\t
\n\tCompleting the API with extra behaviors<\/strong> Our API is functional but there are areas where improvements can be made. In this final chapter, we will extend our API with other cross-cutting concerns such as authentication, logging and more.<\/p><\/div>\n\t\t<\/div>\n\t<\/div>\n\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n<\/div>\n\t\t<\/div>\n\t<\/div>\n\n<\/div>\n\n<\/div>\n\t\t<\/div>\n\t<\/div>\n\n\n\n\n\t\t\n\t\t\t
\n\t\t\t\n
\n\t
\n\tWho is it for?<\/h2><\/div>\n\t\t<\/div>\n\t<\/div>\n\n\n\n\n\t\t\n\t\t\t
\n\t\t\t\n
\n\t<\/div>\t\t<\/div>\n\t<\/div>\n\n\n\n
\n\t\t\n\t\t\t
\n\t\t\t\n
\n\t
\n\tWhy should I follow this training?<\/h2><\/div>\n\t\t<\/div>\n\t<\/div>\n\n\n\n\n\t\t\n\t\t\t
\n\t\t\t\n
\n\t\n\n
\n\t\n\n
\n\t\t\n\t\t\t
\n\t\t\t\n
\n\t
\n\t <\/svg><\/i><\/div>\n\t\t<\/div>\n\t<\/div>\n\n\n\n\n\t\t\n\t\t\t
\n\t\t\t\n
\n\t
\n\tLearn about Clean Architecture<\/h2><\/div>\n\t\t<\/div>\n\t<\/div>\n\n\n\n\n\t\t\n\t\t\t
\n\t\t\t\n
\n\t
\n\tUnderstand the architectural principle.<\/p><\/div>\n\t\t<\/div>\n\t<\/div>\n\n<\/div>\n\n\n\n
\n\t\n\n
\n\t\t\n\t\t\t
\n\t\t\t\n
\n\t
\n\t <\/svg><\/i><\/div>\n\t\t<\/div>\n\t<\/div>\n\n\n\n\n\t\t\n\t\t\t
\n\t\t\t\n
\n\t
\n\tBuild a real-world web app<\/h2><\/div>\n\t\t<\/div>\n\t<\/div>\n\n\n\n\n\t\t\n\t\t\t
\n\t\t\t\n
\n\t
\n\tThis course will guide you in the end-to-end building of a real-world application.<\/p><\/div>\n\t\t<\/div>\n\t<\/div>\n\n<\/div>\n\n\n\n
\n\t\n\n
\n\t\t\n\t\t\t
\n\t\t\t\n
\n\t
\n\t <\/svg><\/i><\/div>\n\t\t<\/div>\n\t<\/div>\n\n\n\n\n\t\t\n\t\t\t
\n\t\t\t\n
\n\t
\n\tUse it from an API and Blazor<\/h2><\/div>\n\t\t<\/div>\n\t<\/div>\n\n\n\n\n\t\t\n\t\t\t
\n\t\t\t\n
\n\t
\n\tTo make it practical, you\u2019ll apply the knowledge from an API and a Blazor application.<\/p><\/div>\n\t\t<\/div>\n\t<\/div>\n\n<\/div>\n\n<\/div>\n\t\t<\/div>\n\t<\/div>\n\n\n\n
\n\t\t\n\t\t\t
\n\t\t\t\n
\n\t\t
\n\tWhat does it look like?<\/h2>\n\t\t\n\t\t\t
\n\t\n\t <\/svg><\/i>\n\t\n\t<\/button>\n\t\n\t <\/svg><\/i>\n\t\n\t<\/button>\t\t<\/div>\n\n\t\t\n\t\t\n\t\t\t
\n\t\t\t\t\n
\n\t\t\t
\n
\n\t
\n\n\t\n\t\n\t \n<\/picture><\/div>\n<\/div>\n\t\t<\/div>\n\n\n\t\t\t
\n
\n\t
\n\n\t\n\t\n\t \n<\/picture><\/div>\n<\/div>\n\t\t<\/div>\n\n\n\t\t\t
\n
\n\t
\n\n\t\n\t\n\t \n<\/picture><\/div>\n<\/div>\n\t\t<\/div>\n\n\n\t\t\t
\n
\n\t
\n\n\t\n\t\n\t \n<\/picture><\/div>\n<\/div>\n\t\t<\/div>\n\n\n\t\t\t
\n
\n\t
\n\n\t\n\t\n\t \n<\/picture><\/div>\n<\/div>\n\t\t<\/div>\n\n\n\t\t\t
\n
\n\t
\n\n\t\n\t\n\t \n<\/picture><\/div>\n<\/div>\n\t\t<\/div>\n\t\t\t<\/div>\n\t\t<\/div>\n\n\t