WPF 访问WebAPI

访问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}");
   }
}

posted @ 2026-07-09 18:08  丹心石  阅读(9)  评论(0)    收藏  举报