Freigeben über


Web-API-Funktionen

Im CSDL $metadata-Dokument befinden sich Function-Elemente. Funktionsvorgänge unterscheiden sich darin von Aktionen, da sie keine Daten ändern sollten. Sie werden normalerweise nur zum Abrufen von Daten verwendet.

Jede Funktion enthält ein Name-Attribut. Dieser Name wird Teil der URL sein, wenn Sie HTTP``GET verwenden, wobei alle definierten Parameter für die Funktion in der URL der Anfrage gesendet werden.

Gebundene Funktionen

Wie Aktionen können Funktionen ein IsBound="true"-Attribut enthalten. Dies bedeutet, dass es sich um eine gebundene Funktion handelt. Funktionen ohne das Attribut IsBound sind ungebunden. Eine gebundene Funktion bedeutet, dass der erste Parameter ein Verweis auf einen Tabellendatensatz oder auf ein Entitätsset ist.

Wenn eine Funktion gebunden ist, enthält sie einen Verweis auf ein bestimmtes Element im Service-Namespace. Um die Funktion zu verwenden, geben Sie den vollqualifizierten Namen mit dem Namespace Microsoft.Dynamics.CRM ein. Weitere Informationen: Service-Namespace

Verfassbare Funktionen

Funktionen können ein IsComposable="true"-Attribut enthalten. Dies bedeutet, dass Sie einige Systemabfrageoptonen wie $filter oder $select an die URL anhängen können, um die zurückgegebenen Ergebnisse anzugeben. Diese Option ist nur für bestimmte Systemfunktionen verfügbar. Sie können mit Custom-API keine Funktion erstellen, die zusammensetzbar ist.

Parameter

Funktionen haben normalerweise ein oder mehrere Parameter-Elemente. Jeder Parameter hat die folgenden Attribute:

Attribut Beschreibung
Name Der Name des Parameters.
Der Name ist eindeutig, es sei denn, die Function ist überlastet. Weitere Informationen finden Sie unter Überlastete Funktionen.
Type Der Typ von Parameter.
Nullable="false" Ob der Parameter einen Nullwert akzeptieren kann

ReturnType

Funktionen müssen Werte zurückgeben. Eine Funktion hat immer ein ReturnType-Element.

Attribut Beschreibung
Type Der Typ von Parameter.
Nullable="false" Ob der Wert null sein darf.

Beispiele für Funktionsdefinitionen

Es folgen einige fiktive Beispiele der Function-Definitionen, die unterschiedliche Bindungsmuster zeigen. Jedes dieser Beispiele gibt einen ganzzahligen Wert zurück.

Ungebundene Funktionen

Eine ungebundene Funktion mit einem einzelnen ganzzahligen Number-Parameter.

<Function Name="UnBoundFunctionExample">
    <Parameter Name="Number" Type="Edm.Int32" Nullable="false" />
    <ReturnType Type="Edm.Int32" Nullable="false" />
</Function>

An eine Entität gebundene Funktion

Eine an die account-Entität gebundene Funktion mit einem einzelnen ganzzahligen Number-Parameter.

<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>

An ein Entitätsset gebundene Funktion

Eine an das account-Entitätsset gebundene Funktion mit einem einzelnen ganzzahligen Number-Parameter.

<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>

Überladene Funktionen

Normalerweise ist jede in $metadaten gefundene Funktion die einzige Funktion mit diesem Namen. Gebundene Funktionen können jedoch mehrere Definitionen haben, wenn sie an verschiedene Typen gebunden sind. Die Systemfunktionen RetrieveUnpublished und RetrieveUnpublishedMultiple sind Beispiele. Sie können keine überladene Funktion mit angepasster API erstellen.

Weitere Informationen finden Sie unter OData 4.0 Regeln für überladene Aktionen.

Nächste Schritte

Weitere Informationen zu Complex- und Enum-Typen.

Siehe auch

Dataverse-Web API verwenden
Internet API-Typen und -Vorgänge
Web API-Servicedokumente
Web API Entitätstypen
Web API-Eigenschaften
Navigationseigenschaften der Web API
Web API-Aktionen
Komplexe Typen und Enumerationstypen (Web API)
OData-Version 4.0 Teil 3: Common Schema Definition Language (CSDL) Plus Errata 03 Element edm:Function

Hinweis

Können Sie uns Ihre Präferenzen für die Dokumentationssprache mitteilen? Nehmen Sie an einer kurzen Umfrage teil. (Beachten Sie, dass diese Umfrage auf Englisch ist.)

Die Umfrage dauert etwa sieben Minuten. Es werden keine personenbezogenen Daten erhoben. (Datenschutzbestimmungen).