当前位置 : 主页 > 网络编程 > 其它编程 >

用WebAPIClient调用WebAPI

来源:互联网 收集:自由互联 发布时间:2023-07-02
安装WebAPI客户端库右键单击项目,选择管理NuGet程序包,选择联机选项,选择全部,在搜索框中输入“Microsoft.AspNet.WebApi.Client”,搜索结果就是 安装Web API客户端库 右键单击项目,选择管
安装WebAPI客户端库右键单击项目,选择管理NuGet程序包,选择联机选项,选择全部,在搜索框中输入“Microsoft.AspNet.WebApi.Client”,搜索结果就是

安装Web API客户端库

右键单击项目,选择管理 NuGet程序包,选择联机选项,选择全部,在搜索框中输入“Microsoft.AspNet.WebApi.Client”,

搜索结果就是要安装的类库,单击安装到完成。NuGet会自动添加引用

 需要引入的命名空间:

using System.Net.Http;using System.Net.Http.Headers;

Get调用

HttpClient初始化 HttpClient client = new HttpClient(); client.BaseAddress = new Uri("http://localhost:9000/"); // Add an Accept header for JSON format. // 为JSON格式添加一个Accept报头 client.DefaultRequestHeaders.Accept.Add( new MediaTypeWithQualityHeaderValue("application/json")); var respOnse= client.GetAsync("api/GetEmployees").Result; //转换为同步方法

response 中可以直接拿到http请求状态。

if (response.IsSuccessStatusCode) //请求成功{ //从方法名中可以看出是异步调用,取Result后,就变成同步了, var results = response.Content.ReadAsAsync().Result; foreach (var p in results) { Console.WriteLine("{0}\t{1};\t{2}", p.Name, p.Age, p.Sex); } } else { Console.WriteLine("{0} ({1})", (int)response.StatusCode, response.ReasonPhrase); }

 

 

Post调用

using System.Net.Http;using System.Net.Http.Headers;//api 为 http://localhost:8000/Employee/Update //传入参数 name,age,sex HttpClient client = new HttpClient(); public override bool SendMessage() { client.DefaultRequestHeaders.Accept.Add( new MediaTypeWithQualityHeaderValue("application/json")); var paras= new { name ="", age =10,sex="男" }; try { var respOnse= client.PostAsJsonAsync(" http://localhost:8000/Employee/Update", paras).Result; //如果调用失败,抛出异常 response.EnsureSuccessStatusCode(); if (response.IsSuccessStatusCode) { var result = response.Content.ReadAsStringAsync(); //result.Result 是一个json字符串,解析后就可以拿到调用后的返回值 return false; } else { return false; } } catch (Exception ex) { return false; } return true; }

put,和delete方法调用同post类似,在此不再介绍。

 

上一篇:PostgreSQL查看是否存在死锁
下一篇:没有了
网友评论