点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
在本文中,您将了解有关 OData 服务 URI 的更多信息。
这是构建 OData 服务系列的一篇文章。可以通过以下链接访问较早的帖子。
构建 OData 服务 [1]:OData 概述
构建 OData 服务 [2]:了解 OData 服务
构建 OData 服务 [3]:创建 OData 服务
构建 OData 服务 [4]:注册和测试 OData 服务
要使用 OData,了解可以使用的 URI 选项非常重要。
所有 URI 选项的摘要
为了演示这些选项,使用了 Northwind 服务。该服务首先在我们查看元数据的 OData 概述 文章中引入。
服务 URL:https : //services.odata.org/V2/Northwind/Northwind.svc/
应在https://services.odata.org/V2/Northwind/Northwind.svc之后添加以下内容。
Option | URI | Description |
---|---|---|
Metadata | /$metadata | Shows metadata for the service |
Entity Set | /Customers /Order_Details | Get all records for the entity |
Entity Set Count | /Customers/$count /Order_Details/$count | Get count of records in a entity set |
Single Entity | /Customers(‘ALFKI’) /Order_Details(OrderID=10248,ProductID=11) | Get single entity record based on entity keys.For single key, it is not mandatory to mention the key name |
Association | /Customers(‘ALFKI’)/Orders /Order_Details(OrderID=10248,ProductID=11)/Product | Displays associated entity sets recordsNote , separated keys |
In-lining | /Customers(‘ALFKI’)?$expand=Orders | Shows data for principal entity and associated entity together |
Filter | /Customers?$filter=City eq ‘London’ and Country eq ‘UK’ | Used to filter the entity set records based on any property |
Select | /Customers?$select=ContactName,City,Country | Select only specific fields |
Filter and Select | /Customers?$filter=City eq ‘London’ &$select=ContactName,City,Country | To combine multiple options & can be used |
Top and Skip | /Customers?$top=2&$skip=5 | Top tells how many records to fetchSkip tells how many records to skip from the first recordTogether these help with displaying contents page by page |
Sorting | /Customers?$orderby=Country,City /Customers?$orderby=Country desc,City asc | Sorts the result by properties in Ascending (asc) or descending (desc) order. default is ascending |
Function Import | /GetCarrierFlights?CarrierID=’AA’ | GetCarrierFlights is name of the function import and Carrid is the importing parameter. ***This is an example and does not work with Northwind service. |
现在,让我们更仔细地查看每个 URL。
元数据
$元数据
显示服务的元数据。从元数据中,您可以了解服务的结构。元数据是一个包含所有实体类型、实体集、关联等信息的大型文档。
实体集
获取实体的所有记录。
/顾客
另一个可以检查的 URL 是 – https://services.odata.org/V2/Northwind/Northwind.svc/Orders/
实体集计数
/客户/$计数
这给出了实体集中的记录数。
单一实体
/客户('ALFKI')
由于此实体类型具有单个字段作为键,因此无需提及键名。
/Order_Details(OrderID=10248,ProductID=11)
在这里,我们需要提及以逗号 (,) 分隔的键名和值。
关联
/客户('ALFKI')/订单
这意味着使用密钥“ALFKI”获取客户实体的所有订单。这是一对多的关联。
/Order_Details(OrderID=10248,ProductID=11)/Product
这是一对一关联,其中显示了所选 Order_Detail 实体中产品的产品详细信息。
类似地,可以测试其余的 URL。
函数导入
/GetCarrierFlights?CarrierID='AA'
这在 Northwind 服务中不可用。这是一个示例,用于描述如何调用函数导入。这里,GetCarrierFlights是函数导入的名称,'AA' 被传递给参数 CarrierID。
将单独介绍如何创建和使用函数导入的详细信息。