El servicio de datos REST permite recuperar no sólo entidades, sino también elementos como colecciones de entidades y propiedades.
Un cliente puede utilizar una solicitud RetrieveEntitySet para recuperar un conjunto de entidades de eXtreme Scale. Las entidades se representan como un documento de canal de información Atom o una matriz JSON en la carga útil de la respuesta. Para obtener información detallada sobre el protocolo RetrieveEntitySet definido en WCF Data Services, consulte: MSDN: RetrieveEntitySet Request.
El siguiente ejemplo de solicitud RetrieveEntitySet recupera todas las entidades Order asociadas con la entidad Customer('IBM'). Aquí sólo se muestran los pedidos 5000 y 5001.
AtomPub
<?xml version="1.0" encoding="utf-8"?>
<feed xml:base = "http://localhost:8080/wxsrestservice/restservice"
xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices"
xmlns:m = "http://schemas.microsoft.com/ado/2007/08/dataservices/
metadata" xmlns = "http://www.w3.org/2005/Atom">
<title type = "text">Order</title>
<id>http://localhost:8080/wxsrestservice/restservice/NorthwindGrid/
Order</id>
<updated>2009-12-16T22:53:09.062Z</updated>
<link rel = "self" title = "Order" href = "Order"/>
<entry>
<category term = "NorthwindGridModel.Order" scheme = "http://
schemas.microsoft.com/
ado/2007/08/dataservices/scheme"/>
<id>http://localhost:8080/wxsrestservice/restservice/
NorthwindGrid/Order(orderId=5000,customer_customerId=
'IBM')</id>
<title type = "text"/>
<updated>2009-12-16T22:53:09.062Z</updated>
<author>
<name/>
</author>
<link rel = "edit" title = "Order" href = "Order(orderId=5000,
customer_customerId='IBM')"/>
<link rel = "http://schemas.microsoft.com/ado/2007/08/
dataservices/related/customer"
type = "application/atom+xml;type=entry"
title = "customer" href = "Order(orderId=5000,
customer_customerId='IBM')/customer"/>
<link rel = "http://schemas.microsoft.com/ado/2007/08/
dataservices/related/orderDetails"
type = "application/atom+xml;type=feed"
title = "orderDetails" href = "Order(orderId=5000,
customer_customerId='IBM')/
orderDetails"/>
<content type = "application/xml">
<m:properties>
<d:orderId m:type = "Edm.Int32">5000</d:orderId>
<d:customer_customerId>IBM</d:customer_customerId>
<d:orderDate m:type = "Edm.DateTime">2009-12-16T19:
46:29.562</d:orderDate>
<d:shipCity>Rochester</d:shipCity>
<d:shipCountry m:null = "true"/>
<d:version m:type = "Edm.Int32">0</d:version>
</m:properties>
</content>
</entry>
<entry>
<category term = "NorthwindGridModel.Order" scheme = "http://
schemas.microsoft.com/ado/2007/08/dataservices/scheme"/>
<id>http://localhost:8080/wxsrestservice/restservice/
NorthwindGrid/Order(orderId=5001, customer_customerId='IBM')
</id>
<title type = "text"/>
<updated>2009-12-16T22:53:09.062Z</updated>
<author>
<name/>
</author>
<link rel = "edit" title = "Order" href = "Order(orderId=5001,
customer_customerId='IBM')"/>
<link rel = "http://schemas.microsoft.com/ado/2007/08/
dataservices/related/customer"
type = "application/atom+xml;type=entry"
title = "customer" href = "Order(orderId=5001,
customer_customerId='IBM')/customer"/>
<link rel = "http://schemas.microsoft.com/ado/2007/08/
dataservices/related/orderDetails"
type = "application/atom+xml;type=feed"
title = "orderDetails" href = "Order(orderId=5001,
customer_customerId='IBM')/orderDetails"/>
<content type = "application/xml">
<m:properties>
<d:orderId m:type = "Edm.Int32">5001</d:orderId>
<d:customer_customerId>IBM</d:customer_customerId>
<d:orderDate m:type = "Edm.DateTime">2009-12-16T19:50:
11.125</d:orderDate>
<d:shipCity>Rochester</d:shipCity>
<d:shipCountry m:null = "true"/>
<d:version m:type = "Edm.Int32">0</d:version>
</m:properties>
</content>
</entry>
</feed>
JSON
{"d":[{"__metadata":{"uri":"http://localhost:8080/wxsrestservice/
restservice/NorthwindGrid/Order(orderId=5000,
customer_customerId='IBM')",
"type":"NorthwindGridModel.Order"},
"orderId":5000,
"customer_customerId":"IBM",
"orderDate":"\/Date(1260992789562)\/",
"shipCity":"Rochester",
"shipCountry":null,
"version":0,
"customer":{"__deferred":{"uri":"http://localhost:8080/
wxsrestservice/restservice/NorthwindGrid/Order(orderId=
5000,customer_customerId='IBM')/customer"}},
"orderDetails":{"__deferred":{"uri":"http://localhost:8080/
wxsrestservice/restservice/NorthwindGrid/Order(orderId=
5000,customer_customerId='IBM')/orderDetails"}}},
{"__metadata":{"uri":"http://localhost:8080/wxsrestservice/
restservice/NorthwindGrid/
Order(orderId=5001,
customer_customerId='IBM')",
"type":"NorthwindGridModel.Order"},
"orderId":5001,
"customer_customerId":"IBM",
"orderDate":"\/Date(1260993011125)\/",
"shipCity":"Rochester",
"shipCountry":null,
"version":0,
"customer":{"__deferred":{"uri":"http://localhost:8080/
wxsrestservice/restservice/NorthwindGrid/Order(orderId=
5001,customer_customerId='IBM')/customer"}},
"orderDetails":{"__deferred":{"uri":"http://localhost:8080/
wxsrestservice/restservice/NorthwindGrid/Order(orderId=
5001,customer_customerId='IBM')/orderDetails"}}}]}
Se puede utilizar una solicitud RetrievePrimitiveProperty para obtener el valor de una propiedad de una instancia de entidad de eXtreme Scale. El valor de la propiedad se representa en formato XML para las solicitudes AtomPub y como un objeto JSON para las solicitudes JSON en la carga útil de la respuesta. Si desea más detalles sobre la solicitud RetrievePrimitiveProperty, consulte: MSDN: RetrievePrimitiveProperty Request.
El siguiente ejemplo de solicitud RetrievePrimitiveProperty recupera la propiedad contactName de la entidad Customer('IBM').
AtomPub
<contactName xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices">
John Doe
</contactName>
JSON
Si desea más detalles sobre la solicitud RetrieveValue, consulte: MSDN: RetrieveValue Request.
El siguiente ejemplo de solicitud RetrieveValue recupera el valor en bruto de la propiedad contactName de la entidad Customer('IBM').
Se puede utilizar una solicitud RetrieveLink para obtener el enlace o los enlaces que representan una asociación a uno o una asociación a muchos. Para la asociación a uno, el enlace es de una instancia de entidad de eXtreme Scale a otra y el enlace se representa en la carga útil de la respuesta. Para la asociación a muchos, los enlaces son de una instancia de entidad de eXtreme Scale a todas las demás de una colección de entidades de eXtreme Scale especificada y la respuesta se representa como un conjunto de enlaces en la carga útil de la respuesta. Si desea más detalles sobre la solicitud RetrieveLink, consulte: MSDN: RetrieveLink Request.
A continuación se ofrece un ejemplo de solicitud RetrieveLink. En este ejemplo, recuperamos la asociación entre la entidad Order(orderId=5000,customer_customerId='IBM') y su cliente. La respuesta muestra el URI de la entidad Customer.
AtomPub
<?xml version="1.0" encoding="utf-8"?>
<uri>http://localhost:8080/wxsrestservice/restservice/
NorthwindGrid/Customer('IBM')</uri>
JSON
Se puede utilizar una solicitud RetrieveServiceMetadata para obtener el documento de lenguaje de definición de esquema conceptual (CSDL), que describe el modelo de datos asociado al servicio de datos REST de eXtreme Scale. Si desea más detalles sobre la solicitud RetrieveServiceMetadata, consulte: MSDN: RetrieveServiceMetadata Request.
Se puede utilizar una solicitud RetrieveServiceDocument para recuperar el documento de servicio que describe la colección de recursos expuestos por el servicio de datos REST de eXtreme Scale. Si desea más detalles sobre la solicitud RetrieveServiceDocument, consulte: MSDN: RetrieveServiceDocument Request.