• 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

  • 相关阅读:
    Python MySQL(SQL语句的补充3)
    Python MySQL(pymysql的使用day1)
    Python MySQL(SQL语句的补充2)
    Python MySQL(对外键使用方法的补充)
    Python MySQL(学习SQL语句)
    Python MySQL数据库的基本使用
    关于http响应内容压缩的一点小积累。
    同一账号,后一用户登录,前一个用户则被踢掉
    对序列化的学习。
    MySQL 函数积累
  • 原文地址:https://www.cnblogs.com/myprogram/p/SharePoint.html
Copyright © 2020-2023  润新知