当前位置: 移动技术网 > IT编程>开发语言>.net > C#工具:利用HttpClient调用WebApi

C#工具:利用HttpClient调用WebApi

2019年03月30日  | 移动技术网IT编程  | 我要评论

11月节日,吕婉柔35分钟,永乐英雄儿女演员表

可以利用httpclient来进行web api的调用。由于weba api的调用本质上就是一次普通的发送请求与接收响应的过程,

所有httpclient其实可以作为一般意义上发送http请求的工具。

using system;
using system.collections.generic;
using system.linq;
using system.net.http;
using system.text;
using system.threading.tasks;

namespace 自己的名称空间
{
    public class apihelper
    {
        /// <summary>
        /// api调用方法/注意一下api地址
        /// </summary>
        /// <param name="controllername">控制器名称--自己所需调用的控制器名称</param>
        /// <param name="overb">请求方式--get-post-delete-put</param>
        /// <param name="action">方法名称--如需一个id(方法名/id)(方法名/?id)根据你的api灵活运用</param>
        /// <param name="obj">方法参数--如提交操作传整个对象</param>
        /// <returns>json字符串--可以反序列化成你想要的</returns>
        public static string getapimethod(string controllername, string overb, string action, object obj = null)
        {
            task<httpresponsemessage> task = null;
            string json = "";
            httpclient client = new httpclient();
            client.baseaddress = new uri("http://localhost:****/api/" + controllername + "/");
            switch (overb)
            {
                case "get":
                    task = client.getasync(action);
                    break;
                case "post":
                    task = client.postasjsonasync(action, obj);
                    break;
                case "delete":
                    task = client.deleteasync(action);
                    break;
                case "put":
                    task = client.putasjsonasync(action, obj);
                    break;
                default:
                    break;
            }
            task.wait();
            var response = task.result;
            if (response.issuccessstatuscode)
            {
                var read = response.content.readasstringasync();
                read.wait();
                json = read.result;
            }
            return json;
        }
    }
}

可能需要以下引用集:

system.net.http.formatting.dll

system.web.http.dll

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网