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

有效的网站推广方式苏州网站建设的公司

有效的网站推广方式,苏州网站建设的公司,商业网站制作,西安seo服务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.yayakq.cn/news/490289/

相关文章:

  • 搜狗推广做网站要钱吗专业开发网站报价单
  • 网站建设方面的书怎么做asp网站
  • wordpress必须安装php吗官网推广方案seo
  • 泉州公司建设网站甘肃省seo关键词优化
  • 河北省网站建设公司netcore网站开发实战
  • 购物网站开发分工公司网站建设费用
  • 网站建设工作职责网站开发过程可分为
  • 秀屿网站建设百度云域名购买
  • 上海网站排名优化价格芜湖网站开发公司电话
  • 网站公司网站定制建设网站备案与不备案区别
  • 深圳网站建站推广好看的电商网站模板下载
  • 珠海企业网站建设服务做简历有什么网站
  • 免费购物网站程序深圳制作网站培训
  • 建设一个素材网站高校校园网站建设培训班
  • 外贸型网站建设公司做公司网站方案
  • 网站代码 商品添加分类网站建设丿金手指15
  • django做的网站源码WordPress调用文章改变属性
  • 网站制作的趋势囯家信用信息公示系统
  • 旅游网站排名查询如何知道wordpress
  • 番禺网站建设wwiw制作网页一般需要兼容哪些网站
  • 领先的手机网站设计网站开发如何做下载支付
  • 网站建设2000字论文软文发布的平台与板块
  • 网站子站怎么做租房网站开发需求文档
  • 一家只做外卖的网站河南艾特网站建设公司
  • 宝格丽网站建设策划案河北网站制作多少钱
  • 一级a做爰片免费网站瑜伽建站教程图解
  • 芜湖酒店网站建设做网站是哪个专业
  • 学做烤制食品的网站盐城做网站的公司地址
  • 免费流程图制作网站百度站长工具综合查询
  • 西安网站 技术支持牛商网网站seo关键字