前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Contact Manager Web API 示例[3] 分页和查询(Paging and Querying)

Contact Manager Web API 示例[3] 分页和查询(Paging and Querying)

作者头像
张善友
发布2018-01-22 11:47:26
1.4K0
发布2018-01-22 11:47:26
举报
文章被收录于专栏:张善友的专栏张善友的专栏

联系人管理器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 查询参数:

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

$top 如果与 $orderby 一起使用,会先排序,然后再取得前 n 笔元素以返回。

例如,以下的 URI 会回传前 3 笔联系人数据,而且使用 name 排序过。 http://localhost:port/api/contacts?$top=3&orderby=name 要支持这些查询选项,简单的从 GET 方法中回去 IQueryable 类型和Queryable attribute (System.Web.Http.QueryableAttribute).

。例如我们把

代码语言:js
复制
[Queryable(ResultLimit=20)]
public IQueryable<Contact> Get()    
{     
          return this.repository.GetAll().AsQueryable();     
}

只需要通过 .AsQueryable() 的帮忙,即可帮我们转换。 更多 OData 查询字符串参数信息,请查询 OData: URI Conventions

参考数据

· Paging and Querying

· http://www.odata.org/

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2012-05-13 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档