HttpClient 出现问题 - blazor 中的 PostAsJsonAsync

Ism*_*ael 1 blazor asp.net-core-3.1 blazor-webassembly

我正在尝试以PostAsJsonAsyncPostJsonAsync更新之前相同的方式使用它,但我收到此错误:

CS1503 参数 3:无法从“ICCR.Shared.LoginModel”转换为“ICCR.Shared.LoginResult” ICCR.Client

代码中的 registerModel 标记为红色,如果您告诉我如何解决,我将不胜感激。

public async Task<RegisterResult> Register(RegisterModel registerModel)
    {
    
        var result = await _httpClient.PostAsJsonAsync<RegisterResult>("api/accounts", registerModel);
        return result;
    }
Run Code Online (Sandbox Code Playgroud)

Hen*_*man 5

PostAsJsonAsync() 返回一个 HttpResponseMessage。

public async Task<RegisterResult> Register(RegisterModel registerModel)
{    
   var response = await _httpClient.PostAsJsonAsync("api/accounts", registerModel);
   return await response.Content.ReadFromJsonAsync<RegisterResult>();
}
Run Code Online (Sandbox Code Playgroud)

可以推断 Post() 的输入参数的类型,Read() 的返回类型必须用 指定<>