Compartir por


Funciones de API web

En el documento CSDL $metadata, encontrará Function elementos. Las operaciones de función son diferentes de las acciones porque no deben cambiar los datos. Normalmente se usan solo para recuperar datos.

Cada función tiene un Name atributo . Este nombre formará parte de la dirección URL cuando use HTTPGET, enviando los parámetros definidos para la función en la dirección URL de la solicitud.

Funciones vinculadas

Al igual que las acciones, las funciones pueden tener un IsBound="true" atributo . Esto significa que es una función enlazada . Las funciones sin IsBound atributo no están vinculadas. Una función enlazada significa que el primer parámetro es una referencia a un registro de tabla o a un conjunto de entidades.

Cuando se enlaza una función, tendrá una referencia a un elemento específico dentro del espacio de nombres del servicio. Para utilizar la función, debe utilizar el nombre completo, incluido el espacio de nombres Microsoft.Dynamics.CRM. Más información: Espacio de nombres del servicio

Funciones que se pueden componer

Las funciones pueden tener un IsComposable="true" atributo . Esto significa que puede anexar algunas opciones de consulta del sistema como $filter o $select a la dirección URL para especificar los resultados devueltos. Esta opción solo está disponible para funciones específicas del sistema. No se puede crear una función mediante una API personalizada que se pueda componer.

Parámetros

Las funciones suelen tener uno o varios Parameter elementos. Cada parámetro tendrá los siguientes atributos:

Atributo Description
Name El nombre del parámetro.
El nombre es único a menos que Function se sobrecargue. Más información: Funciones sobrecargadas.
Type El tipo del parámetro.
Nullable="false" Si el parámetro puede aceptar un valor NULL

TipoDeRetorno

Las funciones deben devolver valores. Una función siempre tendrá un ReturnType elemento .

Atributo Description
Type El tipo del parámetro.
Nullable="false" Si el valor puede ser NULL.

Ejemplos de definición de funciones

A continuación se muestran algunos ejemplos ficticios de definiciones que muestran diferentes patrones de Function enlace. Cada uno de estos ejemplos devuelve un valor entero.

Funciones sin enlazar

Una función unbound con un único parámetro entero Number .

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

Función enlazada a una entidad

Función enlazada a la account entidad con un único parámetro entero Number .

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

Función enlazada a un conjunto de entidades

Función enlazada al account EntitySet con un único parámetro entero Number .

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

Funciones sobrecargadas

Normalmente, cada función que encuentre en el $metadata será la única función con ese nombre. Sin embargo, las funciones enlazadas pueden tener varias definiciones cuando se enlazan a tipos diferentes. El sistema RetrieveUnpublished y las funciones RetrieveUnpublishedMultiple son algunos ejemplos. No se puede crear una función sobrecargada mediante la API personalizada.

Más información: Reglas de sobrecarga de funciones de OData 4.0

Pasos siguientes

Obtenga información acerca de los tipos complejos y enumeración.

Consulte también

Usar la API web de Dataverse
Operaciones y tipos de API web
Documentos del servicio API web
Web API EntityTypes
Propiedades de api web
Propiedades de navegación de api web
Acciones de API web
Tipos complejos y enumeración de API web
Versión de OData: 4.0 Parte 3: Common Schema Definition Language (CSDL) Plus Errata 03 Element edm:Function