我试图教自己如何使用C#进行简单的API调用。我想打电话给这个" http://hivemc.com/json/userprofile/da10b68dea6a42d58ea8fea66a57b886"。这应该在json中返回一些字符串,但我不知道我应该怎么做。
参考:https://apidoc.hivemc.com/#!/GameData/get_game_game_data_id_UUID
我是编程新手,我从未对API做过任何事情。我试过环顾互联网,但我不明白我应该寻找什么。有人可以推荐我一篇可以教我如何做到这一点的文章吗?我不知道从哪里开始。一个带有解释的代码的例子很棒,但我知道如果要问的话太多了。
谢谢!
答案 0 :(得分:1)
您可以从以下开始。
using System;
using System.Net.Http;
using System.Threading.Tasks;
class Test
{
public static void Do()
{
var result = GetGameData("da10b68dea6a42d58ea8fea66a57b886").Result;
//TODO parse json here. For example, see http://stackoverflow.com/questions/6620165/how-can-i-parse-json-with-c
Console.WriteLine(result);
}
private static async Task<string> GetGameData(string id)
{
var url = "http://hivemc.com/json/userprofile/" + id;
using (var client = new HttpClient())
{
client.BaseAddress = new Uri(url);
HttpResponseMessage response = await client.GetAsync(url);
if (response.IsSuccessStatusCode)
{
string strResult = await response.Content.ReadAsStringAsync();
return strResult;
}
else
{
return null;
}
}
}
}
示例电话
Test.Do();
答案 1 :(得分:0)
你应该使用Nuget的System.Net.HttpClient
。检查此link。它向您展示了如何从API获取数据。下一步是使用Newtonsoft.Json将其反序列化到您的模型。
希望它有所帮助!