C#连接到Rest服务以检索信息

C#连接到Rest服务以检索信息,c#,api,C#,Api,我对c#和API的工作相对较新。我已经在VS中创建了一个简单的windows窗体,我正在尝试连接rest服务,以便根据搜索条件(例如ID号)检索信息,并在数据网格中显示所有内容。我一直在寻找一些例子来说明我试图取得的成就,但收效甚微。其思想是让用户能够在文本框中输入ID号,然后单击“搜索”按钮,该按钮将连接到rest服务,检索与该特定ID号相关的所有信息,并将其全部显示在带有列名的数据网格中。这可能吗?有人能告诉我如何建立与rest服务的连接吗 试试这个。路径1是您的连接: 类ApiResult

我对c#和API的工作相对较新。我已经在VS中创建了一个简单的windows窗体,我正在尝试连接rest服务,以便根据搜索条件(例如ID号)检索信息,并在数据网格中显示所有内容。我一直在寻找一些例子来说明我试图取得的成就,但收效甚微。其思想是让用户能够在文本框中输入ID号,然后单击“搜索”按钮,该按钮将连接到rest服务,检索与该特定ID号相关的所有信息,并将其全部显示在带有列名的数据网格中。这可能吗?有人能告诉我如何建立与rest服务的连接吗

试试这个。路径1是您的连接: 类ApiResult只是一个包含ArticleApiModel列表的类

 public static List<ArticleApiModel> GetArticles (int id)
    {

        try
        {
            var task = Task<List<ArticleApiModel>>.Run(async () =>
            {
                using (HttpClient client = new HttpClient())
                {

                    var response = await client.GetAsync(path1 + "/api/articles/",id);
                    if (response != null)
                    {
                        var jsonString = await response.Content.ReadAsStringAsync();
                        var result = JsonConvert.DeserializeObject<ApiResult>(jsonString);
                        return result.Result;
                    }
                }
                return null;
            });
            task.Wait();
            return task.Result;
        }
        catch (Exception ex)
        {
            Console.WriteLine(ex);
        }
        return null;
    }
publicstaticlist-GetArticles(int-id)
{
尝试
{
var task=task.Run(异步()=>
{
使用(HttpClient=new HttpClient())
{
var response=await client.GetAsync(path1+“/api/articles/”,id);
if(响应!=null)
{
var jsonString=await response.Content.ReadAsStringAsync();
var result=JsonConvert.DeserializeObject(jsonString);
返回结果。结果;
}
}
返回null;
});
task.Wait();
返回任务。结果;
}
捕获(例外情况除外)
{
控制台写入线(ex);
}
返回null;
}

查看此答案。我收到一个错误,该错误表示“ApiResult不包含定义,并且找不到接受类型为“ApiResult”的第一个参数的扩展方法“Result”(是否缺少using指令或程序集引用?),因此ApiResult是我创建的一个类,其中包含ArticleApiModel列表。因此,您应该创建一个包含模型列表的类,然后用您的模型替换它。