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

青岛做网站企业排名百度今日数据统计

青岛做网站企业排名,百度今日数据统计,建设 展示型企业网站,wordpress 自动采集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.dt0577.cn/news/9574.html

相关文章:

  • 网站设计需要用到什么技术百度权重1是什么意思
  • 网站开发需要的资料品牌策划方案怎么做
  • 专做童车批发的网站全自动推广引流软件免费
  • word后的网站引用怎么做网站关键词上首页
  • 58同城类型网站制作网站建站系统
  • 网站建设服务条款线上引流的八种推广方式
  • 重庆网站建设注意事项东营网站seo
  • 重庆公司直招网站网页的优化方法
  • php网站建设个人总结苏州百度快照优化排名
  • 浦东建设网站制作班级优化大师免费下载app
  • 邯郸企业做网站报价互动营销用在哪些推广上面
  • 网站建设与维护案列怎么做好公司官网推广
  • 网站百度排名优化市场监督管理局上班时间
  • 怎么使用vs2017做网站超级外链在线发布
  • 网页设计与网站开发素材短视频平台推广方案
  • 南通营销网站建设外贸订单怎样去寻找
  • 武汉做医院网站公司吗搜索引擎营销简称seo
  • logo一键生成器哪个好北京百度搜索优化
  • 让网站降权app推广30元一单
  • 百度site app网站添加到网站首页源文件中的代码是哪些?关键词推广操作
  • 企业网站建设毕业设计论文sem优化技巧
  • seo1视频发布会seo软件视频教程
  • seo整站优化公司持续监控百度网址输入
  • 网站开发怎么确定价格百度竞价培训
  • 可靠的手机做任务网站国内最好用的免费建站平台
  • 秦皇岛手机网站制作费用网站批量查询工具
  • 企业网站的开发公司互联网推广运营
  • 无锡网站建设哪家好域名权重查询
  • 搭建服务器需要多少钱深圳seo优化公司
  • 杨浦网站建设 网站外包最近国际时事热点事件