所谓操作Web API,无非是Send相应的Request到API和Receive对应的API返回。
以下代码基于.NET Core 1.0.
Send Request:
var vm = null; // View model for real data
var client = new HttpClient();
try
{
client.BaseAddress = new Uri("http://apiurl");
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
await client.PutAsync("api/api1", new StringContent(JsonConvert.SerializeObject(vm).ToString(),
Encoding.UTF8, "application/json"));
}
catch (Exception exp)
{
System.Diagnostics.Debug.WriteLine(exp.Message);
return new ObjectResult(false);
}
Receive Response:
var client = new HttpClient();
try
{
client.BaseAddress = new Uri("http://apiurl/");
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
String str = client.GetStringAsync("api/ap1").Result;
return JsonConvert.DeserializeObject<List<YourOwnViewModel>>(str);
}
catch (Exception exp)
{
System.Diagnostics.Debug.WriteLine(exp.Message);
}
是为之记。
Alva Chien
2016.9.30