进行简单的C#API调用

时间:2017-03-29 09:38:22

标签: c#

我试图教自己如何使用C#进行简单的API调用。我想打电话给这个" http://hivemc.com/json/userprofile/da10b68dea6a42d58ea8fea66a57b886"。这应该在json中返回一些字符串,但我不知道我应该怎么做。

参考:https://apidoc.hivemc.com/#!/GameData/get_game_game_data_id_UUID

我是编程新手,我从未对API做过任何事情。我试过环顾互联网,但我不明白我应该寻找什么。有人可以推荐我一篇可以教我如何做到这一点的文章吗?我不知道从哪里开始。一个带有解释的代码的例子很棒,但我知道如果要问的话太多了。

谢谢!

2 个答案:

答案 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将其反序列化到您的模型。

希望它有所帮助!