- 什么是web API?
- web API 控制器、路由
- 测试 Web API
什么是web API ?
简单说,API是接口,访问程序的某一个功能或者数据,实现移动端和客户端的程序之间的数据交互;web API,是可以通过HTTP的协议访问的web的上的API。
如图1-1所示,发送请求,通过json的格式返回结果。
图1-1
ASP.Net web API的特性:
- ASP.NET Web API是构建RESTful服务的理想平台。
- ASP.NET Web API构建于ASP.NET之上,支持ASP.NET请求/响应管道
- ASP.NET Web API将HTTP谓词映射到方法名称。
- ASP.NET Web API支持不同格式的响应数据。内置支持JSON,XML,BSON格式。
- ASP.NET Web API可以托管在IIS,自托管或支持.NET 4.0+的其他Web服务器中。
- ASP.NET Web API框架包括用于与Web API服务器通信的新HttpClient。HttpClient可用于ASP.MVC服务器端,Windows窗体应用程序,控制台应用程序或其他应用程序。
Web API 控制器、路由
[RoutePrefix("data")] public class CNCheckerController : InitXpoController { [Route("GetAllOldEquipments")] [HttpGet] public Result<List<AppOldEquipmentInfo>> GetAllOldEquipments(string Brand, string ModuleType, Palatfromtype PlatformTypes, int pageSize, int Page) { Result<List<AppOldEquipmentInfo>> result = new Result<List<AppOldEquipmentInfo>>(); result.Data = new List<AppOldEquipmentInfo>(); using (Session) { GroupOperator groupOperator = new GroupOperator(GroupOperatorType.And); if (!string.IsNullOrEmpty(Brand))groupOperator.Operands.Add(new BinaryOperator("FBrand", Brand)); if (!string.IsNullOrEmpty(ModuleType))groupOperator.Operands.Add(new BinaryOperator("FModuleType", ModuleType)); groupOperator.Operands.Add(CriteriaOperator.Parse("FPlatformTypes", PlatformTypes)); groupOperator.Operands.Add(CriteriaOperator.Parse("ture")); var Searcholdequipment = new XPCollection<B_oldequipment>(Session, groupOperator, new SortProperty ("createdate", DevExpress.Xpo.DB.SortingDirection.Descending)) { TopReturnedObjects = pageSize, SkipReturnedObjects = pageSize * Page }; foreach (var oldequ in Searcholdequipment) { AppOldEquipmentInfo appoldequipment = new AppOldEquipmentInfo(); appoldequipment.Init(oldequ); result.Data.Add(appoldequipment); } result.Successed = true; result.Msg = "获取数据成功"; } return result; }
详细说明:
这是属性路由的获取数据的信息;
① [RoutePrefix]: 整个控制器设置公共前缀
② Route: 控制器中的路由
③ HttpGet:请求的方法
④ 路由url: [RoutePrefix]+【Route】是请求API的url地址
HTTP方法:
HttpPsot 、 HttpGet 、HttpDelete 、 HttpPut.
测试Web API
开发web API在本地进行测试,我们可以使用以下第三方工具来测试Web API或者在 web API页面上进行测试。
Fildder
posteman