zoukankan      html  css  js  c++  java
  • c# 【MVC】WebApi通过HttpClient来调用Web Api接口

    /// <summary>
    /// HttpClient实现Post请求(异步)
    /// </summary>
    static async void dooPost()
    {
    	string url = "http://localhost:52824/api/register";
    	 //设置HttpClientHandler的AutomaticDecompression
    	var handler = new HttpClientHandler() { AutomaticDecompression = DecompressionMethods.GZip };
    	//创建HttpClient(注意传入HttpClientHandler)
    	using (var http = new HttpClient(handler))
    	{
    		//使用FormUrlEncodedContent做HttpContent
    		var content = new FormUrlEncodedContent(new Dictionary<string, string>()       
    		{    {"Id","6"},
    			 {"Name","添加zzl"},
    			 {"Info", "添加动作"}//键名必须为空
    		 });
    
    		//await异步等待回应
    
    		var response = await http.PostAsync(url, content);
    		//确保HTTP成功状态值
    		response.EnsureSuccessStatusCode();
    		//await异步读取最后的JSON(注意此时gzip已经被自动解压缩了,因为上面的AutomaticDecompression = DecompressionMethods.GZip)
    		Console.WriteLine(await response.Content.ReadAsStringAsync());
    	}
    
    }
    /// <summary>
    /// HttpClient实现Get请求(异步)
    /// </summary>
    static async void dooGet()
    {
    	string url = "http://localhost:52824/api/register?id=1";
    	//创建HttpClient(注意传入HttpClientHandler)
    	var handler = new HttpClientHandler() { AutomaticDecompression = DecompressionMethods.GZip };
    
    	using (var http = new HttpClient(handler))
    	{
    		//await异步等待回应
    		var response = await http.GetAsync(url);
    		//确保HTTP成功状态值
    		response.EnsureSuccessStatusCode();
    
    		//await异步读取最后的JSON(注意此时gzip已经被自动解压缩了,因为上面的AutomaticDecompression = DecompressionMethods.GZip)
    		Console.WriteLine(await response.Content.ReadAsStringAsync());
    	}
    }
    /// <summary>
    /// HttpClient实现Put请求(异步)
    /// </summary>
    static async void dooPut()
    {
    	var userId = 1;
    	string url = "http://localhost:52824/api/register?userid=" + userId;
    
    	//设置HttpClientHandler的AutomaticDecompression
    	var handler = new HttpClientHandler() { AutomaticDecompression = DecompressionMethods.GZip };
    	//创建HttpClient(注意传入HttpClientHandler)
    	using (var http = new HttpClient(handler))
    	{
    		//使用FormUrlEncodedContent做HttpContent
    		var content = new FormUrlEncodedContent(new Dictionary<string, string>()       
    		{
    		   {"Name","修改zzl"},
    		   {"Info", "Put修改动作"}//键名必须为空
    		});
    
    		//await异步等待回应
    
    		var response = await http.PutAsync(url, content);
    		//确保HTTP成功状态值
    		response.EnsureSuccessStatusCode();
    		//await异步读取最后的JSON(注意此时gzip已经被自动解压缩了,因为上面的AutomaticDecompression = DecompressionMethods.GZip)
    		Console.WriteLine(await response.Content.ReadAsStringAsync());
    	}
    }

  • 相关阅读:
    剑指 Offer 60. n个骰子的点数
    剑指 Offer 59
    剑指 Offer 59
    剑指 Offer 58
    剑指 Offer 58
    AndroidStudio中提示:Didn't find class "android.support.v7.widget.RecyclerView"
    SpringBoot中通过重写WebMvcConfigurer的addCorsMapping方法实现后台服务解决跨域问题
    Android中使用Room时怎样存储带list集合的对象
    Android中在使用Room时提示:Cannot figure out how to save this field into database. You can consider adding a type converter for
    Android中ListView的使用以及使用适配器设置数据源
  • 原文地址:https://www.cnblogs.com/smartsmile/p/6234104.html
Copyright © 2011-2022 走看看