【发布时间】:2020-11-10 02:44:00
【问题描述】:
我正在尝试使用我的新 Blazor Webassembly 应用调用现有的 rest API,但是当我进行调用时,我总是收到错误无法评估儿童。 API 到达断点,当我单步执行它时成功返回数据,我还可以查看是否在邮递员中调用它,但是 Blazor 调用失败。我认为这可能是类不匹配的问题,但是 TeamModel 的类结构是相同的,因为它现在是一个共享资源。我是 Blazor 的新手,我确信我遗漏了一些东西,但可以提供一些指导或帮助。
private async Task FetchTeamData()
{
try
{
List<TeamModel> teams;
teams = await Http.GetFromJsonAsync<List<TeamModel>>("http://localhost:50663/api/team");
}
catch (Exception ex)
{
//Always blowing up with Children could not be evaluated here.
}
}
[HttpGet]
public IActionResult GetAllTeams()
{
List<TeamModel> teams = _teamRepository.GetAllTeams();
return Ok(teams);
}
编辑: 好吧,我已将其范围缩小为项目读取该 API 的方式有问题。我可以很好地调用其他托管 API。我不确定它是因为它的 localhost 还是其他问题,但是没有一个 localhost API 方法会正确调用我总是从它那里得到相同的响应。
【问题讨论】:
-
hm 很奇怪,我希望它可以工作。您可以尝试将 TeamModel 作为数组吗?就像
GetFromJsonAsync<TeamModel[]>一样,为避免破坏代码,您可能只需附加.ToList() -
我确实已经尝试过了,我的想法与我在网上找到的示例相同,但最终得到了相同的结果。即使我只是将 JSON 作为字符串抓取,它也会给我同样的错误。
标签: c# api rest blazor-webassembly