目前我正在通过 jQuery 进行 API 调用,我的问题是,是否可以在 C# 中执行此调用,或者将 API 调用的结果转换为 ASP.NET 模型对象列表?
这是我的模型
public class TeamStatsClass
{
public int id { get; set; }
public string name { get; set; }
public string league { get; set; }
public string division { get; set; }
}
这是我当前的 ajax 调用
$.ajax({
url: "https://statsapi.web.nhl.com/api/v1/teams?sportId=1",
success: function (data) {
for (var team of data.teams) {
console.log(team.name);
}
}
});
更新
我将我的课程更改为如下所示:
public class StatsTeamsClass
{
public IEnumerable<Teams> teams { get; set; }
public string copyright { get; set; }
}
public class Division
{
public int id { get; set; }
public string name { get; set; }
public string link { get; set; }
}
public class Teams
{
public int id { get; set; }
public string name { get; set; }
public string link { get; set; }
public League league { get; set; }
public Division division { get; set; }
}
并创建了这个方法,它确实将结果放入模型对象中:
public async System.Threading.Tasks.Task<StatsTeamsClass> GetTeams()
{
HttpClient Http = new HttpClient();
var json = await Http.GetStringAsync("https://statsapi.web.nhl.com/api/v1/teams?sportId=1");
StatsTeamsClass teams = JsonConvert.DeserializeObject<StatsTeamsClass>(json);
return teams;
}
但是当我尝试在另一个控制器中调用这个方法时,它只是挂在那里,没有错误,什么也没有,我假设它会在一段时间后超时
public class HomeController : Controller
{
APIController webService = new APIController();
public ActionResult Index()
{
var item = webService.GetTeams().Result.teams;
return View();
}
}
(GetTeams() 位于控制器 APIController 内部)
那么 A. 在对象模型中获取 API 结果然后调用这些结果的正确方法是什么?
小怪兽爱吃肉
慕容708150
白衣染霜花
相关分类