# Expressivité des API

Disponible dans...

* Cloud API Services Platform
* Cloud Big Data
* Cloud Big Data Platform
* Cloud Data Fabric
* Cloud Data Integration
* Cloud Data Management Platform
* Cloud Pipeline Designer Standard Edition
* Data Fabric

Utilisez les expressions OData supportées pour affiner votre requête et récupérer des données spécifiques depuis votre jeu de données. Pour plus d'informations, consultez la [documentation OData](https://www.odata.org/getting-started/).

## Expressivité OData supportée

Les modèles d'expressivité suivants peuvent être utilisés pour construire des requêtes spécifiques.

Note InformationsRemarque : Utiliser une option non supportée dans une requête OData résulte en une erreur 501 - Not Implemented.

* url/$metadata
* url/entity\_set\_name
* url/entity\_set\_name(primary\_key\_value)
* url/entity\_set\_name(primary\_key\_value)/column\_name
* url/entity\_set\_name(primary\_key\_value)/column\_name/$value
* url/entity\_set\_name?$top=n
* url/entity\_set\_name?$skip=n
* url/entity\_set\_name?$skip=n&$top=n
* url/entity\_set\_name?$select=column\_name
* url/entity\_set\_name?$orderby=column\_name asc|desc
* url/entity\_set\_name?$filter=column\_name eq 'value'
* url/entity\_set\_name?$filter=contains(column\_name, 'value')

## Exemples de requêtes

Le tableau suivant présente quelques exemples de requêtes pouvant être envoyées à votre API. Dans cet exemple, une API a été créée pour le jeu d'entités nommé customers et le chemin de l'API générée est customers-api-2PZPTB. Le jeu de données contient des colonnes nommées customer\_age, id, customer\_name, customer\_city et customer\_street. La colonne id est utilisé comme clé primaire.

Exemples de modèles dans des requêtes et leurs réponsesExemples de modèles dans des requêtes et leurs réponses

| Pattern (Modèle) | Description | Exemple |
| --- | --- | --- |
| url/entity\_set\_name | Obtenir toutes les données du jeu d'entités. | Requête :<br><br>```<br>https://company-talend-com.eu.talend-dataset.com/apis/customers-api-2PZPTB/customers<br>```<br><br>Réponse :<br><br>```<br>{<br>	"@odata.context": "http://company-talend-com.eu.talend-dataset.com/apis/customers-api-2PZPTB/$metadata#customers",<br>	"value": [<br>		{<br>			"customer_age": "36",<br>			"id": "g9wjC",<br>			"customer_name": "Franklin Washington",<br>			"customer_city": "Olympia",<br>			"customer_street": "North Erringer Road"<br>		},<br>		{<br>			"customer_age": "31",<br>			"id": "DNOFp",<br>			"customer_name": "Theodore Ford",<br>			"customer_city": "Boise",<br>			"customer_street": "Lawrenceville Suwanee"<br>		},<br>		{<br>			"customer_age": "41",<br>			"id": "IRvgp",<br>			"customer_name": "Gerald Cleveland",<br>			"customer_city": "Atlanta",<br>			"customer_street": "Steele Lane"<br>		},<br>		{<br>			"customer_age": "19",<br>			"id": "V7o2h",<br>			"customer_name": "Benjamin Adams",<br>			"customer_city": "Little Rock",<br>			"customer_street": "Castillo Drive"<br>		},<br>		{<br>			"customer_age": "56",<br>			"id": "LwvLC",<br>			"customer_name": "Theodore Hayes",<br>			"customer_city": "Saint Paul",<br>			"customer_street": "Carpinteria South"<br>		},<br>		{<br>			"customer_age": "22",<br>			"id": "2oWSU",<br>			"customer_name": "Harry Roosevelt",<br>			"customer_city": "Bismarck",<br>			"customer_street": "East Calle Primera"<br>		},<br>		{<br>			"customer_age": "68",<br>			"id": "tnXgw",<br>			"customer_name": "Rutherford Fillmore",<br>			"customer_city": "Cheyenne",<br>			"customer_street": "Jean de la Fontaine"<br>		}<br>	]<br>}<br>``` |
| url/$metadata | Obtenir les métadonnées du jeu d'entités. | Requête :<br><br>```<br>https://company-talend-com.eu.talend-dataset.com/apis/customers-api-2PZPTB/$metadata<br>```<br><br>Réponse :<br><br>```<br><?xml version="1.0" encoding="UTF-8" ?><br><edmx:Edmx Version="4.0" xmlns:edmx="http://docs.oasis-open.org/odata/ns/edmx"><br><edmx:DataServices><br><Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="customers-api-2PZPTB"><br><EntityType Name="customersItem"><br><Key><br><PropertyRef Name="id"/><br></Key><br><Property Name="customer_age" Type="Edm.String"/><br><Property Name="id" Type="Edm.String"/><br><Property Name="customer_name" Type="Edm.String"/><br><Property Name="customer_city" Type="Edm.String"/><br><Property Name="customer_street" Type="Edm.String"/><br></EntityType><br><EntityContainer Name="customers"><br><EntitySet Name="customers" EntityType="customers-api-2PZPTB.customersItem"/><br></EntityContainer><br></Schema><br></edmx:DataServices><br></edmx:Edmx><br><br>``` |
| url/entity\_set\_name(primary\_key\_value) | Obtenir une entité spécifique via sa valeur de clé primaire. | Requête :<br><br>```<br>https://company-talend-com.eu.talend-dataset.com/apis/customers-api-2PZPTB/customers('g9wjC')<br>```<br><br>Réponse :<br><br>```<br>{<br>"@odata.context": "http://company-talend-com.eu.talend-dataset.com/apis/customers-api-2PZPTB/$metadata#customers",<br>"customer_age": "36",<br>"id": "g9wjC",<br>"customer_name": "Franklin Washington",<br>"customer_city": "Olympia",<br>"customer_street": "North Erringer Road"<br>}<br>``` |
| url/entity\_set\_name(primary\_key\_value)/column\_name | Obtenir une colonne seule pour une entité spécifique. | Requête :<br><br>```<br>https://company-talend-com.eu.talend-dataset.com/apis/customers-api-2PZPTB/customers('g9wjC')/customer_name<br>```<br><br>Réponse :<br><br>```<br>{<br>"@odata.context": "http://company-talend-com.eu.talend-dataset.com/apis/customers-api-2PZPTB/$metadata#customers/customer_name",<br>"value": "Franklin Washington"<br>}<br>``` |
| url/entity\_set\_name(primary\_key\_value)/column\_name/$value | Obtenir la valeur brute d'une colonne pour une entité spécifique. | Requête :<br><br>```<br>https://company-talend-com.eu.talend-dataset.com/apis/customers-api-2PZPTB/customers('g9wjC')/customer_city/$value<br>```<br><br>Réponse :<br><br>```<br>Olympia<br>``` |
| url/entity\_set\_name?$top=n | Récupérer un nombre limité d'entités. | Requête :<br><br>```<br>https://company-talend-com.eu.talend-dataset.com/apis/customers-api-2PZPTB/customers?$top=2<br>```<br><br>Réponse :<br><br>```<br>{<br>"@odata.context": "http://company-talend-com.eu.talend-dataset.com/apis/customers-api-2PZPTB/$metadata#customers",<br>"value": [<br>{<br>"customer_age": "36",<br>"id": "g9wjC",<br>"customer_name": "Franklin Washington",<br>"customer_city": "Olympia",<br>"customer_street": "North Erringer Road"<br>},<br>{<br>"customer_age": "31",<br>"id": "DNOFp",<br>"customer_name": "Theodore Ford",<br>"customer_city": "Boise",<br>"customer_street": "Lawrenceville Suwanee"<br>}<br>]<br>}<br>``` |
| url/entity\_set\_name?$skip=n | Récupérer une collection d'entités, en ignorant les n premières entités. | Requête :<br><br>```<br>https://company-talend-com.eu.talend-dataset.com/apis/customers-api-2PZPTB/customers?$skip=5<br>```<br><br>Réponse :<br><br>```<br>{<br>"@odata.context": "http://company-talend-com.eu.talend-dataset.com/apis/customers-api-2PZPTB/$metadata#customers",<br>"value":[<br>{<br>"customer_age": "22",<br>"id": "2oWSU",<br>"customer_name": "Harry Roosevelt",<br>"customer_city": "Bismarck",<br>"customer_street": "East Calle Primera"<br>},<br>{<br>"customer_age": "68",<br>"id": "tnXgw",<br>"customer_name": "Rutherford Fillmore",<br>"customer_city": "Cheyenne",<br>"customer_street": "Jean de la Fontaine"<br>},<br>{<br>"customer_age": "40",<br>"id": "QcX7L",<br>"customer_name": "Warren Adams",<br>"customer_city": "Columbus",<br>"customer_street": "North Broadway Street"<br>}<br>]<br>}<br>``` |
| url/entity\_set\_name?$skip=n&$top=n | Créer une pagination et obtenir une page spécifique d'entités à partir d'une collection. | Requête :<br><br>```<br>https://company-talend-com.eu.talend-dataset.com/apis/customers-api-2PZPTB/customers?$skip=5&$top=2<br>```<br><br>Réponse :<br><br>```<br>{<br>"@odata.context": "http://company-talend-com.eu.talend-dataset.com/apis/customers-api-2PZPTB/$metadata#customers",<br>"value": [<br>{<br>"customer_age": "22",<br>"id": "2oWSU",<br>"customer_name": "Harry Roosevelt",<br>"customer_city": "Bismarck",<br>"customer_street": "East Calle Primera"<br>},<br>{<br>"customer_age": "68",<br>"id": "tnXgw",<br>"customer_name": "Rutherford Fillmore",<br>"customer_city": "Cheyenne",<br>"customer_street": "Jean de la Fontaine"<br>}<br>]<br>}<br>``` |
| url/entity\_set\_name?$select=column\_name | Récupérer seulement certains attributs d'entités.<br><br>Note InformationsRemarque : La colonne utilisée comme clé primaire est toujours incluse. | Requête :<br><br>```<br>https://company-talend-com.eu.talend-dataset.com/apis/customers-api-2PZPTB/customers?$select=customer_city,customer_street<br>```<br><br>Réponse :<br><br>```<br>{<br>"@odata.context": "http://company-talend-com.eu.talend-dataset.com/apis/customers-api-2PZPTB/$metadata#customers",<br>"value": [<br>{<br>"@odata.id": "customers('g9wjC')",<br>"id": "g9wjC",<br>"customer_city": "Olympia",<br>"customer_street": "North Erringer Road"<br>},<br>{<br>"@odata.id": "customers('DNOFp')",<br>"id": "DNOFp",<br>"customer_city": "Boise",<br>"customer_street": "Lawrenceville Suwanee"<br>},<br>{<br>"@odata.id": "customers('IRvgp')",<br>"id": "IRvgp",<br>"customer_city": "Atlanta",<br>"customer_street": "Steele Lane"<br>}<br>]<br>}<br>``` |
| url/entity\_set\_name?$orderby=column\_name asc\|desc | Récupérer une collection d'entités dans un ordre spécifique, à l'aide d'un ou plusieurs attribut·s. Les deux valeurs possibles pour cette option sont asc et desc. | Requête :<br><br>```<br>https://company-talend-com.eu.talend-dataset.com/apis/customers-api-2PZPTB/customers?$orderby=customer_age desc<br>```<br><br>Réponse :<br><br>```<br>{<br>"@odata.context": "http://company-talend-com.eu.talend-dataset.com/apis/customers-api-2PZPTB/$metadata#customers",<br>"value": [<br>{<br>"customer_age": "78",<br>"id": "2lxMe",<br>"customer_name": "Thomas Johnson",<br>"customer_city": "Charleston",<br>"customer_street": "Redwood Highway"<br>},<br>{<br>"customer_age": "75",<br>"id": "EK0fU",<br>"customer_name": "Benjamin Jefferson",<br>"customer_city": "Austin",<br>"customer_street": "Monroe Street"<br>},<br>{<br>"customer_age": "70",<br>"id": "3Wmih",<br>"customer_name": "Grover Carter",<br>"customer_city": "Dover",<br>"customer_street": "Redwood Highway"<br>}<br>]<br>}<br>``` |
| url/entity\_set\_name?$filter=column\_name eq 'value' | Récupérer une collection d'entités correspondant à un filtre. | Requête :<br><br>```<br>https://company-talend-com.eu.talend-dataset.com/apis/customers-api-2PZPTB/customers?$filter=customer_city eq 'Olympia'<br>```<br><br>Réponse :<br><br>```<br>{<br>"@odata.context": "http://company-talend-com.eu.talend-dataset.com/apis/customers-api-2PZPTB/$metadata#customers",<br>"value":[<br>{<br>"customer_age": "36",<br>"id": "g9wjC",<br>"customer_name": "Franklin Washington",<br>"customer_city": "Olympia",<br>"customer_street": "North Erringer Road"<br>},<br>{<br>"customer_age": "68",<br>"id": "EVFMD",<br>"customer_name": "Ronald Van Buren",<br>"customer_city": "Olympia",<br>"customer_street": "Bayshore Freeway"<br>}<br>]<br>}<br>```<br><br>Note InformationsRemarque : Selon l'outil utilisé pour appeler l'API, il est possible d'obtenir une erreur si les espaces sont encodés avec des signes plus (+). Pour éviter ce problème, assurez-vous que les espaces sont encodés en encodage-pourcent : %20. |
| url/entity\_set\_name?$filter=contains(column\_name, 'value') | Obtenez une collection d'entités correspondant à un filtre où column\_name contient une certaine valeur ('value'). | Requête :<br><br>```<br>https://company-talend-com.eu.talend-dataset.com/apis/customers-api-2PZPTB/customers?$filter=contains(customer_name, 'Van')<br>```<br><br>Réponse :<br><br>```<br>{<br>"@odata.context": "http://company-talend-com.eu.talend-dataset.com/apis/customers-api-2PZPTB/$metadata#customers",<br>"value":[<br>{<br>"customer_age": "68",<br>"id": "EVFMD",<br>"customer_name": "Ronald Van Buren",<br>"customer_city": "Olympia",<br>"customer_street": "Bayshore Freeway"<br>}<br>]<br>}<br>``` |