c#WPFクライアントはWebAPIを呼び出し、Listに変換する
4134 ワード
HttpClient,JsonConvertで実現する.
ニュースを引用するJson.dllとSystemNet.Http.
例を挙げると、webapiからデバイスリストを取得します.
EquipModelはエンティティクラスで、Jsonを変換するために使用され、一般的にJson形式と同じです.
ExecuteInterfaceByUrlメソッドは,webapiのアドレスとパラメータを伝達する汎用的なメソッドとすることができる.
ニュースを引用するJson.dllとSystemNet.Http.
例を挙げると、webapiからデバイスリストを取得します.
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
private void Button_Click(object sender, RoutedEventArgs e)
{
var list= GetEquipList(1);
}
public List GetEquipList(int orgId)
{
string url = "http://127.0.0.1/K3Cloud/BAH.TEST.APP.PCService.EquipService.GetEquipList,BAH.TEST.APP.common.kdsvc";
var content = new FormUrlEncodedContent(new Dictionary<string, string>()
{
{ "orgId",orgId.ToString()}
});
var resultRpt = ExecuteInterfaceByUrl(url, content);
return JsonConvert.DeserializeObject>(resultRpt).ToList();
}
protected string ExecuteInterfaceByUrl(string url, FormUrlEncodedContent para)
{
var handler = new HttpClientHandler() { AutomaticDecompression = DecompressionMethods.GZip };
using (var http = new HttpClient(handler))
{
var responseRpt = http.PostAsync(url, para).Result;
var resultRpt = responseRpt.Content.ReadAsStringAsync().Result;
return resultRpt;
}
}
}
public class EquipModel
{
public string FName { get; set; }
}
EquipModelはエンティティクラスで、Jsonを変換するために使用され、一般的にJson形式と同じです.
ExecuteInterfaceByUrlメソッドは,webapiのアドレスとパラメータを伝達する汎用的なメソッドとすることができる.