Book Image

Mastering Blazor WebAssembly

By : Ahmad Mozaffar
3.5 (2)
Book Image

Mastering Blazor WebAssembly

3.5 (2)
By: Ahmad Mozaffar

Overview of this book

Blazor WebAssembly is a revolutionary technology in software development that enables you to develop web applications with a rich user interface using C# without JavaScript. It can be run natively in the browser and soon on mobile apps with .NET MAUI, making it a superweapon in the .NET developer’s toolbox. This capability has opened the doors for the JavaScript community to have a stable framework to build single page applications (SPAs) maintained by Microsoft and driven by the community. Mastering Blazor WebAssembly is a complete resource that teaches you everything you need to build client-side web applications using C# & .NET 7.0. Throughout this book, you’ll discover the anatomy of a Blazor WebAssembly project, along with the build, style, and structure of the components. You’ll implement forms to catch user input and collect data, as well as explore the topics of navigating between the pages in depth. The chapters will guide you through handling complex scenarios like RenderTrees, writing efficient unit tests, using variant security methods, and publishing the app to different providers, all in a practical manner. By the end of this book, you’ll have the skills necessary to build web apps with Blazor WebAssembly, along with the basics for a future in mobile development with .NET MAUI and Blazor.
Table of Contents (21 chapters)
1
Part 1: Blazor WebAssembly Essentials
5
Part 2: App Parts and Features
13
Part 3: Optimization and Deployment

Implementing a POST web API call in Blazor WebAssembly

We have developed the BookForm page, which has a form for entering the book details and a submit button that currently does nothing other than write some logs to the console window.

The BookForm page is for the store admin, who can insert new books. For now, we don’t have authentication either on the server side in the web API or on the client side; that’s the target of Chapter 9. But we need to complete the logic of this page so that when the admin clicks the Submit button, the book gets posted to the API, which stores it in its data source. When the app goes online in production and an admin adds a new book, all those users who navigate to the app will see the new book on the Index page because that web API is the main source of data for our project.

The BooksStore API exposes a POST endpoint, and according to the Swagger documentation, accepts a JSON object in the body of the POST request, as shown here:

...