zoukankan      html  css  js  c++  java
  • SharePoint 2013 REST 以及 OData 基础

    这篇文章会介绍:

    • 简单的介绍REST,OData
    • OData实现细节
    • OData在SharePoint 2013中的实现

    为什么REST很重要

    过去几年基于REST的webservice在IT企业越来越多的被人使用,尤其是跟微软相关的。REST 服务使用起来更简单,使得企业降低了使用门槛。REST服务非常容易的被JS和JQuery类库的调用。过去几年中,OData很快的变成了最新的数据访问API,他之所以如此受欢迎,因为他是第一个主流的,为基于Http的客户提供的API。Odata API为 通过网络为CRUD 操作提供了标准化的API,如Get,Post 以及Put,OData 服务也在网上越来越流行。 OData服务的例子如:NeFlix,Dellas,Azure。Excel 2010,Excel 2013是可以调用任何以OData作为数据源的应用程序。

    这里面我们介绍一些学习OData时会遇到的关键点,并且了解OData是怎么工作的

    OData Resource

    Is Described in an Entity Data Model by

    Collection

    Entity Set

    A navigation property on an entity type that identifies a collection of entities

    Property of an entry

    Primitive or Complex Entity Type Property

    Complex Type

    Complex Type

    Link

    A navigation Property defined on an Entity Type

    Service Operation

    Function Import

    Odata的实现细节

    OData的主要目的是把CRUD操作映射到Http行为上,例如你可以:

    • 用Http Get来实现查询
    • 添加新的实体,如ListItem或者数据库记录通过Http Post
    • 用Http Put或者Http Merge来实现更新
    • 用Http Delete来实现删除的功能

    这些行为也暗示了你可以通过http,用CURD来操作数据的方式。

    Http Merge相对于Http Put的优势在于你可以只改变其中的某些数据,而让其他的数据保留原有的值。 Http Put也会把数据重置为默认值如果你没有显示的指定它。

    作为一个开发,如果想要知道怎么用OData,你首先需要了解OData的地址是如何构造的,每一个Uri都有3个重要的部分:

    1. Service root Uri

    是一个访问网络的入口,如.svc文件

    1. Resource Path

    它表示了指定的对象,如SiteCollection,List或者listitem,

    1. Query string option

    第三部分是查询参数,让你能够处理一系列的行为,如查询,排序等。

    OData在SharePoint2013中的实现

    Service Root Uri包含了目的站点的url 加上client.svc的相对于服务器的Url,

    Resource Uri,指定了要操作的目的对象,如Site,List或者ListItem。

    因此你可以通过这样的Url

    http://contoso/_vit_bin/client.svc/Web

    来访问一个Web,这个地址有另外一个别名

    http://contoso/_api/Web

    这两个地址都是等价的。输入上面的地址后,你会看到如下信息:

    下面的路径展示了3中访问SharePoint资源的路径:

    _api/web/lists

    _api/web/lists/getByTitle('Annoucements')

    _api/web/getAvailableWebTemplates(lcid=1033)

    下面一部分例子会为大家讲述如何简单的调用REST服务,你只需要一能够通过SharePoint 2013的认证的浏览器。你可以通过输入基于REST的地址,来使用Http Get操作来进行查询。这个提供了一种快速的方式,通过拼接Url,来查询,过滤,排序内容。

    下面的演示就不多说了,在浏览器中输入下面的Url试试你看到的数据吧:

    http://contoso.com/_vti_bin/client.svc/Web

    http://contoso.com/_api/Web/Lists

    http://contoso.com/_api/Web/lists?$select=Title

    http://contoso.com/_api/Web/lists/getbytitle('Annoucements')/Items

    http://contoso.com/_api/Web/lists/getbytitle('Annoucements')/Items?$select=Title,Body

    http://contoso.com/_api/Web/lists/getbytitle('Annoucements')/Items?$filter=startswith(Title,'P')

    怎么样,这种方式来访问SharePoint是不是简单了很多?平时开发中节省了不少的时间把?

    参考文章:

    https://msdn.microsoft.com/en-us/library/office/jj164022(v=office.15).aspx#WritingData

  • 相关阅读:
    HDU1029 Ignatius and the Princess IV
    UVA11039 Building designing【排序】
    UVA11039 Building designing【排序】
    POJ3278 HDU2717 Catch That Cow
    POJ3278 HDU2717 Catch That Cow
    POJ1338 Ugly Numbers(解法二)
    POJ1338 Ugly Numbers(解法二)
    UVA532 Dungeon Master
    UVA532 Dungeon Master
    POJ1915 Knight Moves
  • 原文地址:https://www.cnblogs.com/myprogram/p/SharePoint.html
Copyright © 2011-2022 走看看