.NET 客户端获取WebApi

415 阅读1分钟

一、前言

在学习对于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字符串后,可以随便我们怎么使用了