Fonctions de l’API web
Au sein du document CSDL $metadata, vous trouverez les éléments Function
. Les opérations de fonction sont différentes des actions, car elles ne doivent pas modifier les données. Elles sont généralement utilisées uniquement pour récupérer des données.
Chaque fonction a un attribut Name
. Ce nom fera partie de l’URL lorsque vous utiliserez HTTP
GET
, en envoyant tous les paramètres définis pour la fonction dans l’url de la requête.
Fonctions liées
Tout comme les actions, les fonctions peuvent avoir un attribut IsBound="true"
. Cela signifie qu’il s’agit d’une fonction liée. Les fonctions sans attribut IsBound
sont non liées. Une fonction liée signifie que le premier paramètre est une référence à un enregistrement de table ou à un jeu d’entités.
Lorsqu’une fonction est liée, elle aura une référence à un élément spécifique dans l’espace de noms de service. Pour utiliser la fonction, vous devez utiliser le nom qualifié complet, y compris l’espace de noms Microsoft.Dynamics.CRM
. Plus d’informations : Espace de noms de service
Fonctions composables
Les fonctions peuvent avoir un attribut IsComposable="true"
. Cela signifie que vous pouvez ajouter certaines options de requête système telles que $filter
ou $select
à l’URL pour spécifier les résultats renvoyés. Cette option n’est disponible que pour des fonctions système spécifiques. Vous ne pouvez pas créer une fonction en utilisant une API personnalisée qui est composable.
Paramètres
Les fonctions ont généralement un ou plusieurs éléments Parameter
. Chaque paramètre aura les attributs suivants :
Attribut | Description |
---|---|
Name |
Nom du paramètre. Le nom est unique à moins que l’ Function soit surchargée. Pour plus d’informations : Fonctions surchargées. |
Type |
Type de paramètre. |
Nullable="false" |
Indique si le paramètre peut accepter une valeur nulle |
ReturnType
Les fonctions doivent renvoyer des valeurs. Une fonction aura toujours un élément ReturnType
.
Attribut | Description |
---|---|
Type |
Type de paramètre. |
Nullable="false" |
Indique si la valeur peut être nulle. |
Exemples de définition de la fonction
Voici quelques exemples fictifs de définitions d’Function
montrant différents modèles de liaison. Chacun de ces exemples renvoie une valeur entière.
Fonctions non liées
Une fonction non liée avec un seul paramètre Number
entier.
<Function Name="UnBoundFunctionExample">
<Parameter Name="Number" Type="Edm.Int32" Nullable="false" />
<ReturnType Type="Edm.Int32" Nullable="false" />
</Function>
Fonction liée à une entité
Une fonction liée à l’entité account
avec un seul paramètre Number
d’entier.
<Function Name="EntityBoundFunctionExample" IsBound="true">
<Parameter Name="entity" Type="mscrm.account" Nullable="false" />
<Parameter Name="Number" Type="Edm.Int32" Nullable="false" />
<ReturnType Type="Edm.Int32" Nullable="false" />
</Function>
Fonction liée à un jeu d’entités
Une fonction liée à EntitySet account
avec un seul paramètre Number
d’entier.
<Function Name="EntityCollectionBoundFunctionExample" IsBound="true">
<Parameter Name="entityset" Type="Collection(mscrm.account)" Nullable="false" />
<Parameter Name="Number" Type="Edm.Int32" Nullable="false" />
<ReturnType Type="Edm.Int32" Nullable="false" />
</Function>
Fonctions surchargées
Habituellement, chaque fonction que vous trouverez dans les $métadonnées sera la seule fonction portant ce nom. Cependant, les fonctions liées peuvent avoir plusieurs définitions lorsqu’elles sont liées à différents types. Les fonctions RetrieveUnpublished et RetrieveUnpublishedMultiple système en sont quelques exemples. Vous ne pouvez pas créer de fonction surchargée en utilisant API personnalisée.
Pour plus d’informations : Règles de surcharge de fonction OData 4.0
Étapes suivantes
En savoir plus sur les types Complex et Enum.
Voir aussi
Utilisation de l’API web Dataverse
Types d’API web et opérations
Documents de service de l’API web
EntityTypes de l’API web
Propriétés de l’API web
Propriétés de navigation de l’API web
Actions de l’API web
Types Complex et Enumeration de l’API web
Partie 3 de la version 4.0 d’OData : Common Schema Definition Language (CSDL) Plus Errata 03 Element edm:Function
Notes
Pouvez-vous nous indiquer vos préférences de langue pour la documentation ? Répondez à un court questionnaire. (veuillez noter que ce questionnaire est en anglais)
Le questionnaire vous prendra environ sept minutes. Aucune donnée personnelle n’est collectée (déclaration de confidentialité).