- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我已经通过添加最新的包引用来安装该包。
来自 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);
}
最佳答案
1.在blazor服务器应用中,当前HttpClient类不包含“GetJsonAsync”、“PostJsonAsync”和“PutJsonAsyc”方法。
2.你可以创建一个自定义的HttpClient类来添加这些缺失的方法来处理json数据
public CustomHttpClient : HttpClient
{
public async Task<T> GetJsonAsync<T>(string requestUri)
{
HttpClient httpClient = new HttpClient();
var httpContent = await httpClient.GetAsync(requestUri);
string jsonContent = httpContent.Content.ReadAsStringAsync().Result;
T obj = JsonConvert.DeserializeObject<T>(jsonContent);
httpContent.Dispose();
httpClient.Dispose();
return obj;
}
public async Task<HttpResponseMessage> PostJsonAsync<T>(string requestUri, T content)
{
HttpClient httpClient = new HttpClient();
string myContent = JsonConvert.SerializeObject(content);
StringContent stringContent = new StringContent(myContent, Encoding.UTF8, "application/json");
var response = await httpClient.PostAsync(requestUri, stringContent);
httpClient.Dispose();
return response;
}
public async Task<HttpResponseMessage> PutJsonAsync<T>(string requestUri, T content)
{
HttpClient httpClient = new HttpClient();
string myContent = JsonConvert.SerializeObject(content);
StringContent stringContent = new StringContent(myContent, Encoding.UTF8, "application/json");
var response = await httpClient.PutAsync(requestUri, stringContent);
httpClient.Dispose();
return response;
}
}
@inject CustomHttpClient Http
@code{
protected override async Task OnInitializedAsync() {
await Http.GetJsonAsync < Emp[] > ("Your Url");
}
public class Emp
{
public int? ID { get; set; }
public string EmpName { get; set; }
}
}
关于c# - HttpClient.GetJsonAsync 未找到。 (blazor 服务器),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59846892/
我想解析 JSON 以使用 Flurl 列出。我的 JSON 数据是这样的。 { "api": { "results": 114, "fixtures": { "195
我目前正在使用 Blazor,并希望移动我的代码,使其更具可读性和可重用性。在我的 razor 组件中,方法完美无缺——在类中,它没有。 在我的组件中,我可以简单地使用这个: response = a
我在 Blazor 应用程序中有以下代码,它调用 API 并根据用户 ID 参数检索项目列表。 Http.GetJsonAsync 似乎不允许我输入参数。如何将 userid 变量指定为参数? 调用
我已经通过添加最新的包引用来安装该包。 来自 https://www.nuget.org/packages/Microsoft.AspNetCore.Blazor.HttpClient/ 但我仍然无法
由于我目前正在评估 Blazor(服务器),我制作了一个简单的 POC 应用程序在VS2019(版本16.3.8)中用于订购披萨。我创建了一个 Blazor 服务器应用程序,它从中获取数据一个 Web
我正在尝试使用 Blazor 和 .NET Core 3 以及 EF Core 3 创建一个应用程序。我已经为用户 (/api/users) 设置了一个数据库模型和一个 API,并在 chrome 中
我正在制作 Http.JsonAsync("api/MyController/Users");调用很快返回,但在 5 秒后超时,而不是给我数据。 我已经进行了其他类似的调用,但效果很好,但发生了一些奇
我是一名优秀的程序员,十分优秀!