WebAPI 调用
使用HttpClient类来操作,这种操作方式为强类型操作。创建它的实例,调用它的方法,实现增,删,改,查。
添加和修改要引用 微软关于WebAPI调用的一个扩展包(Microsoft.AspNet.WebApi.Client),使用Nuget方式安装
Microsoft.AspNet.WebApi.Client
1、查询
using System.Net.Http;
using Newtonsoft.Json;
// 图书分类信息
List<BookType> typeList = new List<BookType>();
// 调用WebAPI
HttpClient client = new HttpClient();
string result = client.GetStringAsync("http://localhost:51554/api/book/GetBookTypeList").Result;
// 反序列化转换 字符串为强类型的值
typeList = JsonConvert.DeserializeObject<List<BookType>>(result);
2、添加
using System.Net.Http;
// 保存分类信息,调用WebAPI来操作
HttpClient client = new HttpClient();
// 调用WebAPI,完成添加功能
string result = client.PostAsJsonAsync("http://localhost:51554/api/book/AddBookType", bt).Result.Content.ReadAsStringAsync().Result;
if(result == "1")
{
return Content("<script>alert('添加图书分类成功!');location.href='/Book/BookTypeList'</script>");
}
else
{
return Content("<script>alert('添加图书分类失败!');location.href='/Book/AddBookType'</script>");
}
3、修改
using System.Net.Http;
using Newtonsoft.Json;
// 图书信息(反填)
BookType bt = null;
// 调用WebAPI得到图书信息(反填用)
HttpClient client = new HttpClient();
string result = client.GetStringAsync("http://localhost:51554/api/book/GetBookTpeInfo?id="+id).Result;
bt = JsonConvert.DeserializeObject<BookType>(result);
// 保存修改后的数据
// 修改分类信息,调用WebAPI来操作
HttpClient client = new HttpClient();
// 调用WebAPI,完成修改功能
string result = client.PutAsJsonAsync("http://localhost:51554/api/book/UpdateBookType", bt).Result.Content.ReadAsStringAsync().Result;
if (result == "1")
{
return Content("<script>alert('修改图书分类成功!');location.href='/Book/BookTypeList'</script>");
}
else
{
return Content("<script>alert('修改图书分类失败!');location.href='/Book/UpdateBookType?id="+bt.btId+"'</script>");
}
4、删除
using System.Net.Http;
// 删除分类信息,调用WebAPI来操作
HttpClient client = new HttpClient();
// 调用WebAPI,完成删除功能
string result = client.DeleteAsync("http://localhost:51554/api/book/DeleteBookType?id="+id).Result.Content.ReadAsStringAsync().Result;
if (result == "1")
{
return Content("<script>alert('删除图书分类成功!');location.href='/Book/BookTypeList'</script>");
}
else
{
return Content("<script>alert('删除图书分类失败!');location.href='/Book/BookTypeList'</script>");
}