【问题标题】:Having problem with HttpClient - PostAsJsonAsync in blazorHttpClient 出现问题 - blazor 中的 PostAsJsonAsync
【发布时间】:2020-09-08 14:06:58
【问题描述】:

我正在尝试使用 PostAsJsonAsync,就像在更新之前使用 PostJsonAsync 一样,但我收到了这个错误:

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;
    }

【问题讨论】:

  • 为什么有一个PostAsJsonAsync&lt;RegisterResult&gt; 和一个RegisterModel 值?

标签: blazor asp.net-core-3.1 blazor-webassembly


【解决方案1】:

PostAsJsonAsync() 返回一个 HttpResponseMessage。

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

可以推断 Post() 的输入参数的类型,Read() 的返回类型必须用 &lt;&gt; 指定。

【讨论】:

  • 我注意到之前通过更多调查,这才是真正的解决方案
  • 为总统加油!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-23
相关资源
最近更新 更多