Contact Manager Web API 示例[3] 分页和查询(Paging and Querying)
2012-05-13 08:08
302 查看
联系人管理器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 查询参数:
$top 如果与 $orderby 一起使用,会先排序,然后再取得前 n 笔元素以返回。
例如,以下的 URI 会回传前 3 笔联系人数据,而且使用 name 排序过。 http://localhost:port/api/contacts?$top=3&orderby=name 要支持这些查询选项,简单的从 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。
参考数据
· Paging and Querying
· http://www.odata.org/
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 查询参数:
Web API 提供支持 OData 查询参数 | ||
查询参数 | 说明 | 范例 |
$filter | 选择与布尔表达式相符的项目 | http://localhost:port/api/contacts?$filter=substringof(Name, 'Ed') eq true |
$orderby | 指定的属性来排序结果 | http://localhost:port/api/contacts?$orderby=Name |
$skip | 跳过前 n 笔元素 | http://localhost:port/api/contacts?$skip=2 |
$top | 传回前 n 笔元素 | http://localhost:port/api/contacts?$orderby=Name |
例如,以下的 URI 会回传前 3 笔联系人数据,而且使用 name 排序过。 http://localhost:port/api/contacts?$top=3&orderby=name 要支持这些查询选项,简单的从 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。
参考数据
· Paging and Querying
· http://www.odata.org/
相关文章推荐
- Contact Manager Web API 分页和查询(Paging and Querying)
- pagingandsortingrepository接口实现分页查询
- jpa之PagingAndSortingRepository带分页查询
- jpa之PagingAndSortingRepository带分页查询
- Spring boot data JPA 自定义JPQL语句,以及PagingAndSortingRepository接口实现分页查询
- 通过存储过程进行分页查询的SQL示例
- Yii 2.0实现联表查询加搜索分页的方法示例
- thinkPHP多表查询及分页功能实现方法示例
- [翻译]在ASP.NET Web API中通过OData支持查询和分页
- 分页查询示例
- springmvc 分页查询的简单实现示例代码
- Atitit.列表页面and条件查询的实现最佳实践(2)------翻页 分页 控件的实现java .net php
- ASP.NET MVC5 实现分页查询的示例代码
- solr复杂查询;及代码示例;包括查询、过滤、分页、排序、高亮显示等处理 的代码示例;
- 高效的SQLSERVER分页查询的几种示例分析
- Atitit.列表页面and条件查询的实现最佳实践(2)------翻页 分页 控件的实现java .net php
- Atitit.列表页面and条件查询的实现最佳实践(2)------翻页 分页 控件的实现java .net php
- sqlserver2005利用临时表和@@RowCount提高分页查询存储过程性能示例分享
- Extjs5 Ext.PagingToolbar 查询分页
- 详述 DB2 分页查询及 Java 实现的示例