【发布时间】:2019-11-21 10:23:46
【问题描述】:
由于我目前正在评估 Blazor(服务器),我制作了一个简单的 POC 应用程序 在 VS2019(版本 16.3.8)中用于订购比萨饼。我创建了一个 Blazor 服务器应用程序,它从中获取数据 一个 Web API Core 3.0 项目,没什么特别的,在 Index razor 页面启动时获取数据是 实现如下:
隐藏外部 API 调用的服务实现如下:
所以我在创建的 http 客户端实例上使用常规的 GetStringAsync() 方法,该方法返回 请求的数据作为 json 字符串,最终反序列化为所需的对象类型。 但是,不幸的是,我不能在这里使用 GetJsonAsync() 方法,如 GitHub 示例所示 可以在这里找到:
https://github.com/software-architects/learn-blazor/tree/master/samples/RestApi
搜索了一段时间后,我来到了下一个站点:
https://learn-blazor.com/architecture/rest-api
这解释了我必须使用“HttpClientJsonExtensions”,正如该网站的下一个片段所述:
因此,在下载示例并快速查看“RestApi.Client”项目(其中包含 WebAssembly 托管的应用程序),我看到下一个引用的依赖项:
它(显然)具有“Http”类的扩展方法,用于在客户端应用程序中使用 GetJsonAsync() 方法。
所以,我的问题很明显,我怎样才能在基于 Blazor Server 的应用程序中具有相同的行为,因为没有 我的基于 Blazor Server 的应用程序中的 Microsoft.AspNetCore.Blazor 依赖项,如下所示:
因为我的 PizzaMenuService 位于 Blazor Server 应用程序的“Services”文件夹中,并调用了 Rest API (如我的请求开头所示),它没有执行GetJsonAsync()的扩展方法…… 那么如何在基于 Blazor Server 的应用程序上实现呢?
感谢任何回复! ????
伊曼纽尔·纽腾斯。
【问题讨论】:
标签: json api blazor-server-side