Define a class with all the data you want to pass to the Blazor app. Working with minimal API request handlers is designed to provide a low Unmarshalled interop using the IJSUnmarshalledRuntime interface is obsolete and should be replaced with JavaScript [JSImport]/[JSExport] interop. If you are using ASP.NET Core Razor Pages to develop your web application, you have already decided that the majority of your HTML will be generated on the server. Using System.Text.Json shouldn't result in additional app payload size over adding one or more alternate JSON libraries. The decision isn't based on the state of the UI as it was in the previous example, which might be temporarily stale. Exercise care to allow legitimate users to access the app (for example, when a connection limit is established based on the client's IP address). For example, if you make a request using Chrome or Opera, XML appears in the browser: The default response in Internet Explorer is an invitation to open or save a file called test.json: At the beginning of this article, I said that Web API delivers JSON by default. Calls are asynchronous by default to ensure that components are compatible across both Blazor hosting models, Blazor Server and Blazor WebAssembly. However, this approach is expensive because the renderer must: Use CaptureUnmatchedValues where component rendering performance isn't critical, such as components that aren't repeated frequently. Note all the component files need to have the extension as .razor. It prints details for the selected movie to the browser: The final button is wired up to a click event handler that makes use of the jQuery,ajax() method, which allows you to specify the HTTP verb used to make the request (as opposed to the get method which always uses GET). For example, Azure Front Door enables you to define, manage, and monitor the global routing of web traffic to an app and works when Blazor Server apps are configured to use Long Polling. It prints details for the selected movie to the browser: The final button is wired up to a click event handler that makes use of the jQuery,ajax() method, which allows you to specify the HTTP verb used to make the request (as opposed to the get method which always uses GET). Use the IJSObjectReference to invoke exported JS functions from the module. Components can also trigger navigation requests programmatically through the use of NavigationManager. .Routes.MapHttpRoute( The recommended place for this type of initialisation code is the _AppStart file. Calls are asynchronous by default to ensure that components are compatible across both Blazor hosting models, Blazor Server and Blazor WebAssembly. The Post() returns a success message wrapped in ObjectResult to the caller. The controller contains the Index() action. Excessive resource consumption is a security concern impacting availability. Inside the method, we are calling the GetPlayersAsync method of Choose the New Project option from the File menu and scroll down to Other Project Types. Within the if statement when firstRender is true, interact with unmanagedElement outside of Blazor using JS interop. The success function simply displays the message returned by the Post() action into the msg