联系人管理器web API是一个Asp.net web api示例程序,演示了通过ASP.NET Web API 公开联系信息,并允许您添加和删除联系人,示例地址http://code.msdn.microsoft.com/Contact-Manager-Web-API-0e8e373d。
Contact Manager Web API 示例[1]CRUD 操作 已经做了一个基本的介绍,
Contact Manager Web API 示例[2] Web API Routing 介绍Web API Routing。
本文主要介绍OData的查询和分页支持。
OData开放数据协议是微软针对Google的GData推出的,旨在推广Web程序数据库格式标准化的开放数据协议,微软将 OData 定义为基于 HTTP、AtomPub 和 JSON 的协议,增强各种网页应用程序之间的数据兼容性,以提供多种应用、服务和数据商店的信息访问。
Open Data Protocal (OData) 指定查询字符串参数让 Client 能使用它去排序与过滤结果。
Web API 提供以下支持 OData 查询参数:
![p><p>例如,以下的 URI 会回传前](https://yqfile.alicdn.com/3cd2cf94ff68e2e49c9bc844be3a6232d7d48734.png%24top%20%E5%A6%82%E6%9E%9C%E4%B8%8E%20%24orderby%20%E4%B8%80%E8%B5%B7%E4%BD%BF%E7%94%A8%EF%BC%8C%E4%BC%9A%E5%85%88%E6%8E%92%E5%BA%8F%EF%BC%8C%E7%84%B6%E5%90%8E%E5%86%8D%E5%8F%96%E5%BE%97%E5%89%8D%20n%20%E7%AC%94%E5%85%83%E7%B4%A0%E4%BB%A5%E8%BF%94%E5%9B%9E%E3%80%82)
要支持这些查询选项,简单的从 GET 方法中回去 IQueryable 类型和Queryable attribute (System.Web.Http.QueryableAttribute).
。例如我们把
[Queryable(ResultLimit=20)]
public IQueryable<Contact> Get()
{
return this.repository.GetAll().AsQueryable();
}
只需要通过 .AsQueryable() 的帮忙,即可帮我们转换。
更多 OData 查询字符串参数信息,请查询 OData: URI Conventions。" >
本文来自云栖社区合作伙伴“doNET跨平台”,了解相关信息可以关注“opendotnet”微信公众号