.NET 客户端获取WebApi
一、前言
在学习对于webapi的调用时呢,学习了俩种方法,一种是Ajax跨域,还有一种是HttpClient创建一个.NET客户端去调用接口,这样的好处是,灵活,而且不用去关心跨域的问题。所以,写下来记录一下:
二、使用方法
很简单只需要在我们的控制器里,创建一个客户端,然后去获取接口的数据就好了。代码实践:
using System.Net.Http;//引用命名空间
public ActionResult GetApi()
{
HttpClient httpClient = new HttpClient();
httpClient.BaseAddress = new Uri("http://localhost:51603");//设置webapi的请求头,比如下面图片里红框部分,复制过来就好
httpClient.GetAsync("/api/Controller/Action");//HttpGet请求
httpClient.PostAsJsonAsync("/api/Controller/Action","任意值,看你接口需要的是什么数据,就传什么");//HttpPost请求
httpClient.PutAsJsonAsync("/api/Controller/Action", "任意值,看你接口需要的是什么数据,就传什么");//HttpPut请求
httpClient.DeleteAsync("/api/Controller/Action");//HttpDelete请求
var res = httpClient.GetAsync("/api/Controller/Action").Result;//获取返回来的结果对象
if (res.IsSuccessStatusCode)//如果成功访问
{
string Json = res.Content.ReadAsStringAsync().Result;//把接受到的结果变成json字符串
}
return View();
}
拿到我们的json字符串后,可以随便我们怎么使用了