引用 类
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Net;
using System.Net.Http;
using System.Net.WebSockets;
using Newtonsoft.Json;
using System.Runtime.Serialization.Json;
using System.IO;
using System.Windows.Forms;
api 在winform中的get 方法
public static List<T> Jsonobject<T>(Uri url) { using (var client = new HttpClient()) { var result = client.GetStringAsync(url).Result; List<T> ds = JsonConvert.DeserializeObject<List<T>>(result); return ds; }
我在这里返回的是List<T> 泛型集合,在后台获取时声明泛型收集即可.
api 在winfrom 中的put 方法
public async void PueAnsy<T>(Uri uri, T t1) { string data = JsonConvert.SerializeObject(t1); DataContractJsonSerializer serializer = new DataContractJsonSerializer(typeof(T)); MemoryStream ms = new MemoryStream(); serializer.WriteObject(ms, t1); ms.Position = 0; HttpContent content = new StreamContent(ms); content.Headers.ContentType = new System.Net.Http.Headers.MediaTypeHeaderValue("application/json"); HttpClient client = new HttpClient(); HttpResponseMessage response = await client.PutAsync(uri, content);
if (response.IsSuccessStatusCode) { } else { } }
api 在winfrom 中的Post 方法
public async void Update<T>(T t1, Uri url) { DataContractJsonSerializer serializer = new DataContractJsonSerializer(typeof(T)); MemoryStream ms = new MemoryStream(); serializer.WriteObject(ms, t1); //传入model ms.Position = 0; HttpContent content = new StreamContent(ms);//将MemoryStream转成HttpContent content.Headers.ContentType = new System.Net.Http.Headers.MediaTypeHeaderValue("application/json"); HttpClient client = new HttpClient(); HttpResponseMessage response = await client.PostAsync(url, content);
if (response.IsSuccessStatusCode) { MessageBox.Show("成功"); } }
api 在winfrom 中的Delete 方法
public async void Delete(Uri url) { HttpClient client = new HttpClient(); HttpResponseMessage response = await client.DeleteAsync(url); if (response.IsSuccessStatusCode) { MessageBox.Show("删除成功"); } else { MessageBox.Show("删除失败"); } }
如果delete方法 需要传入model ,参照update 方法进行修改