当前位置: 首页 > news >正文

青岛做网站企业排名2024年重大新闻摘抄

青岛做网站企业排名,2024年重大新闻摘抄,株洲市建设局网站毛局长,大型行业门户网站开发建设Winform程序调用WebApi的方式有很多,本文学习并记录采用HttpClient调用基于GET、POST请求的WebApi的基本方式。WebApi使用之前编写的检索环境检测数据的接口,如下图所示。 调用基于GET请求的无参数WebApi 创建HttpClient实例后调用GetStringAsync函数获…

  Winform程序调用WebApi的方式有很多,本文学习并记录采用HttpClient调用基于GET、POST请求的WebApi的基本方式。WebApi使用之前编写的检索环境检测数据的接口,如下图所示。
在这里插入图片描述

调用基于GET请求的无参数WebApi

  创建HttpClient实例后调用GetStringAsync函数获取返回json字符串,如果返回的是基本数据,则按需调用格式转换函数将转换返回字符串格式,主要代码如下所示:

string url = @"http://localhost:5098/ECData/ECDataCount";
HttpClient client = new HttpClient();
int result = Convert.ToInt32(client.GetStringAsync(url).Result);

  如果返回复杂数据格式,则需预定义数据类,然后调用反序列化函数将返回的json字符串反序列化为指定数据类型的实例对象。需注意的是返回的json字符串中的属性名称的大小写与数据类定义中的属性名称大小写的对应关系。本文测试时使用System.Text.Json反序列化,并配置JsonSerializerOptions忽略大小写。主要代码如下所示:

 string url = @"http://localhost:5098/ECData/ECDatas";HttpClient client = new HttpClient();string result = client.GetStringAsync(url).Result;JsonSerializerOptions options = new JsonSerializerOptions();options.PropertyNameCaseInsensitive = true;List< EnvironmentRecord> lstRecords= JsonSerializer.Deserialize<List<EnvironmentRecord>>(result, options);
调用基于GET请求的带参数WebApi

  调用基于GET请求的带参数WebApi,其请求参数基本都是附在url最后传递到服务端,此时调用webapi的方式和上一小节一致,如下所示:

string url = @"http://localhost:5098/ECData/List?page=1";
HttpClient client = new HttpClient();
string result = client.GetStringAsync(url).Result;
JsonSerializerOptions options = new JsonSerializerOptions();
options.PropertyNameCaseInsensitive = true;
ListFuncResult lstRecords = JsonSerializer.Deserialize<ListFuncResult>(result, options);
调用基于POST请求的带参数WebApi(通过url传递参数)

  调用基于Post请求的带参数WebApi,如果请求参数通过url传递,则调用webapi的方式和上一小节一致,仅调用函数变为PostAsync。主要代码如下所示:

string url = @"http://localhost:5098/ECData/DataTableListByPost?page=1&limit=10";
HttpClient client = new HttpClient();
string result = client.PostAsync(url,null).Result.Content.ReadAsStringAsync().Result;
JsonSerializerOptions options = new JsonSerializerOptions();
options.PropertyNameCaseInsensitive = true;
DataTableFuncResult lstRecords = JsonSerializer.Deserialize<DataTableFuncResult>(result, options);
调用基于POST请求的带参数WebApi(通过请求体传递参数)

  通过请求体传递参数的话,需先将参数序列化为字符串,然后创建StringContent对象保存字符串,最终调用PostAsync发送post请求。主要代码如下所示:

string url = @"http://localhost:5098/ECData/DataTableListByPostPlus";
HttpClient client = new HttpClient();QueryCondition condition = new QueryCondition();
condition.page = 1;
condition.limit = 10;var content = new StringContent(JsonSerializer.Serialize<QueryCondition>(condition), Encoding.UTF8);
content.Headers.Remove("Content-Type");
content.Headers.Add("Content-Type", "application/json");string result = client.PostAsync(url, content).Result.Content.ReadAsStringAsync().Result;
JsonSerializerOptions options = new JsonSerializerOptions();
options.PropertyNameCaseInsensitive = true;
DataTableFuncResult lstRecords = JsonSerializer.Deserialize<DataTableFuncResult>(result, options);

参考文献:
[1]https://blog.csdn.net/yanzean/article/details/126860942
[2]https://blog.csdn.net/lg_2_lr/article/details
[3]https://www.cnblogs.com/rengke2002/p/7921003.html

http://www.ds6.com.cn/news/18743.html

相关文章:

  • 卖网站怎样做泉州百度seo公司
  • 新手学做网站推荐软件人民日报最新新闻
  • 工信部企业网站备案吗产品关键词
  • 网站靠什么挣钱seo薪酬
  • 机关门花网站建设产品推广计划书怎么写
  • 政府网站建设管理工作落实情况微信小程序免费制作平台
  • 用超轻粘土做网站武汉seo网站优化排名
  • 成都市自住房建设网站互联网营销师证
  • 网站运营总监关键词优化的建议
  • 莱州网站建设哪家好如何做好网络宣传工作
  • 微网站好制作吗seo的课谁讲的好
  • 南充网站建设服务商建网站需要多少钱和什么条件
  • 一般网站维护要多久一键清理加速
  • wordpress搜索插件慢seo课培训
  • 凡网站建设潍坊网站定制模板建站
  • 做网站字体要求深圳seo推广公司
  • 政府网站集约化建设的调研报告软文是啥意思
  • 国外网站搭建平台seo霸屏软件
  • 公安部备案网站品牌战略
  • 广西建设厅建管处网站网站seo排名优化
  • 做网站是先买域名优化推广排名网站教程
  • 公司做一个网站内容如何设计方案网络营销团队
  • 网站开发的主要技术电商网站建设价格
  • wordpress cnzz 插件seo关键词排名技术
  • 网站制作帐户设置近三天重大新闻摘抄
  • 桂林网站建设找骏程发布软文的平台有哪些
  • 网站前端做报名框软文推广
  • 网站怎么提供下载推广资源seo
  • 自助手机网站建站软件国内可访问的海外网站和应用
  • css 网站根目录今日头条关键词排名优化