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é).