HttpClient.GetJsonAsync 未找到。 (Blazor 服务器)
HttpClient.GetJsonAsync Not found. (blazor server)
我已经通过添加最新的包参考安装了包。
来自 https://www.nuget.org/packages/Microsoft.AspNetCore.Blazor.HttpClient/
但是我仍然无法找到所需的功能,例如.. Client.GetJsonAsync
如果我遗漏了什么,你能帮帮我吗?
谢谢。
我正在尝试,但不能。
public async Task<User> GetUser(string Id)
{
HttpClient client = new HttpClient();
var user = await client.GetJsonAsync($"{BaseUrl}Get-User/{Id}");
return JsonConvert.DeserializeObject<User>(user);
}
方法签名如下:
public static async Task<T> GetJsonAsync<T>(this HttpClient httpClient, string requestUri);
所以这是一个通用方法,您必须在调用中包含类型参数。
在你的情况下,这应该是这样的:
HttpClient client = new HttpClient();
var user = await client.GetJsonAsync<User>($"{BaseUrl}Get-User/{Id}");
这已经将 JSON 响应反序列化为 User
类型。
请注意,您需要使用 Microsoft.AspNetCore.Components
命名空间才能显示此扩展方法。
希望您使用的是客户端 blazor
这些是 HTTP 客户端的扩展方法,因此您必须使用 GetJsonAsync 传递类型,方法将 return 一个对象。如果您的 API 会 return 空白响应,则此方法将引发错误。对于这种情况,您可以使用 httpClient.GetAsync
方法
1.添加 nuget 包 System.Net.Http.Json
2。在 using System.Net.Http.Json
中添加这个命名空间
对我没有任何作用,也没有人明确指出这一点。
这些扩展方法存在于 System.Net.Http.Json
命名空间中。
要使用这些方法,您需要先添加此包 System.Net.Http.Json。
然后在using中添加这个System.Net.Http.Json
命名空间。
只有这样 json 扩展方法才会与 HttpClient 对象一起出现。
添加这个命名空间
using System.Net.Http.Json;
然后如下所示更改您的代码:
public async Task<User> GetUser(string Id)
{
HttpClient client = new HttpClient();
return await client.GetFromJsonAsync<User>($"{BaseUrl}Get-User/{Id}");
}
我已经通过添加最新的包参考安装了包。
来自 https://www.nuget.org/packages/Microsoft.AspNetCore.Blazor.HttpClient/
但是我仍然无法找到所需的功能,例如.. Client.GetJsonAsync
如果我遗漏了什么,你能帮帮我吗? 谢谢。
我正在尝试,但不能。
public async Task<User> GetUser(string Id)
{
HttpClient client = new HttpClient();
var user = await client.GetJsonAsync($"{BaseUrl}Get-User/{Id}");
return JsonConvert.DeserializeObject<User>(user);
}
方法签名如下:
public static async Task<T> GetJsonAsync<T>(this HttpClient httpClient, string requestUri);
所以这是一个通用方法,您必须在调用中包含类型参数。
在你的情况下,这应该是这样的:
HttpClient client = new HttpClient();
var user = await client.GetJsonAsync<User>($"{BaseUrl}Get-User/{Id}");
这已经将 JSON 响应反序列化为 User
类型。
请注意,您需要使用 Microsoft.AspNetCore.Components
命名空间才能显示此扩展方法。
希望您使用的是客户端 blazor
这些是 HTTP 客户端的扩展方法,因此您必须使用 GetJsonAsync 传递类型,方法将 return 一个对象。如果您的 API 会 return 空白响应,则此方法将引发错误。对于这种情况,您可以使用 httpClient.GetAsync
方法
1.添加 nuget 包 System.Net.Http.Json
2。在 using System.Net.Http.Json
中添加这个命名空间对我没有任何作用,也没有人明确指出这一点。
这些扩展方法存在于 System.Net.Http.Json
命名空间中。
要使用这些方法,您需要先添加此包 System.Net.Http.Json。
然后在using中添加这个System.Net.Http.Json
命名空间。
只有这样 json 扩展方法才会与 HttpClient 对象一起出现。
添加这个命名空间
using System.Net.Http.Json;
然后如下所示更改您的代码:
public async Task<User> GetUser(string Id)
{
HttpClient client = new HttpClient();
return await client.GetFromJsonAsync<User>($"{BaseUrl}Get-User/{Id}");
}