c# - C# 连接到 Rest 服务以检索信息
问题描述
我对 c# 和使用 API 比较陌生。我在 VS 中创建了一个简单的 windows 窗体,我正在尝试连接 ta rest 服务以根据搜索条件(例如 ID 号)检索信息并在数据网格中显示所有内容。我一直在寻找我试图实现的目标但收效甚微的例子。这个想法是让用户在文本框中输入 ID 号并单击“搜索”按钮,然后该按钮将连接到其余服务并检索与该特定 ID 号相关的所有信息并将其全部显示在数据网格中与列名。这可能吗?谁能建议我如何建立与其余服务的连接?
解决方案
尝试这个。Path1 是您的连接:Class 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;
}
推荐阅读
- android - Android SafetyNet 认证 - 离线设备
- css - CSS中的断点
- javascript - 如何使用 Webpack 在 Rails 6 中使 JavaScript 函数全局可用?
- reactjs - API 搜索 term 而不是 id
- python - Kivy 应用程序有什么方法可以继续在后台工作吗?
- c# - Windows 窗体应用程序(.NET 框架)CRUD 项目,更改成功保存到 DataGridView,但不是实际的数据库表
- python - 如何在 Python3 中同时运行 2 个函数
- c++ - free():在 c++ Conways Game of Life 中的 tcache 2 Aborted (core dumped) 中检测到 double free
- android - *BindingImpl 类:不能从 final *Binding 继承
- php - 删除集合 Laravel 的关键“数据”