gpt4 book ai didi

blazor - 非泛型方法 'HttpClient.GetAsync(string)' 不能与类型参数一起使用

转载 作者:行者123 更新时间:2023-12-01 23:55:12 25 4
gpt4 key购买 nike

我有这个注册 HttpClient 的代码

    public void ConfigureServices(IServiceCollection services)
{
services.AddRazorPages();
services.AddServerSideBlazor();

services.AddHttpClient("ServerAPI", client =>
client.BaseAddress = new Uri("http://localhost:xxxxx/"));
}

为了使用它,我将它注入(inject)了我的 Blazor Razor 页面,

@page "/Movies/FetchMovies"
@inject IHttpClientFactory http;
@using System.Text.Json

<MovieList Movies="movies" />

@code{
private List<Movie> movies;

protected override async Task OnInitializedAsync()
{
var client = http.CreateClient("ServerAPI");
movies = await client.GetAsync<List<Movie>>("api/Movies");

//movies = await client.GetFromJsonAsync<List<Movie>>("api/Movies");
}
}

问题是这条线 movies = await client.GetAsync<List<Movie>>("api/Movies");得到一个错误: The non-generic method 'HttpClient.GetAsync(string)' cannot be used with type arguments

我试过 movies = await client.GetFromJsonAsync<List<Movie>>("api/Movies")但也会出错。

最佳答案

如果您希望改用 GetFromJsonAsync 方法,请执行以下操作:

  1. 安装包System.Net.Http.Json
  2. 引用命名空间:System.Text.JsonSystem.Net.Http.Json

要么到您的特定 razor 文件,要么到/_Imports.razor 文件。

现在这段代码将完成工作...

movies = await client.GetFromJsonAsync<List<Movie>>("api/Movies"); 

关于blazor - 非泛型方法 'HttpClient.GetAsync(string)' 不能与类型参数一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62832569/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com