访问WebAPI 步骤和方法:
1. 通过HttpClient 访问
using System.Net.Http;
using NewtonSoft.Json;
using System.Collections.ObjectModel;
private static readonly HttpClient httpClient=new HttpClient();
private MainViewModel main=new MainModel();
try
{
//1. 发送异步Get请求
string apiUrl="http://localhost:44372/api/Product":
HttpResponseMessage response=await httpClient.GetAsync(apiUrl);
//2.确保请求成功
if(response.IsSuccessStatusCode)
{
//返回JSON字符串
string jsonResponse=await response.Content.ReadAsStringAsync();
//4.将JSON串序列化
this.Dispatcher.Invoke(()=>{
main.Products=JsonConvert.DeserializeObject<ObservableCollection<Product>>(jsonResponse);
});
}
}
catch(HttpRequestException ex)
{
MessageBox.Show($"状态码:{response.StatusCode}");
}
2. 处理Post 请求发送数据
using System.Net.Http;
using Newtonsoft.Json;
private async Task PostDataToApi(object dataToSend)
{
string apiUrl="https://(localhost:44372/api/product";
try
{
string jsonData=JsonConvert.SerializeObject(dataToSend);
var content=new StringContent(jsonData,Encoding.UTF8,"application/json");
HttpResponseMessage response= await httpClient.PostAsync(apiUrl,content);
if(response.IsSuccessStatusCode)
{
MessageBox.Show("发送成功");
}
}
catch(Exception ex)
{
MessageBox.Show($"发送失败:{ex.Message}");
}
}