Funciones de la API web
En el documento $metadata de CSDL, encontrará elementos Function
. Las operaciones de Function son diferentes de las acciones porque no deben cambiar los datos. Por lo general, se utilizan solo para recuperar datos.
Toda función tiene un atributo Name
. Este nombre formará parte de la URL cuando utilice HTTP
GET
, enviando cualquier parámetro definido para la función en la URL de la solicitud.
Funciones enlazadas
Al igual que las acciones, las funciones pueden tener un atributo IsBound="true"
. Esto significa que es una función enlazada. Las funciones sin el atributo IsBound
están sin enlazar. 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 de servicio.
Funciones que admiten composición
Las funciones pueden tener un atributo IsComposable="true"
. Esto significa que puede agregar algunas opciones de consulta del sistema, como $filter
o $select
a la URL para especificar los resultados devueltos. Esta opción solo está disponible para funciones específicas del sistema. No puede crear una función usando la API personalizada que es componible.
Parámetros
Las funciones suelen tener uno o más elementos Parameter
. Cada parámetro tendrá los siguientes atributos:
Atributo | Descripción |
---|---|
Name |
El nombre del parámetro. El nombre es único a menos que Function esté sobrecargado. Para obtener más información: consulte Funciones sobrecargadas. |
Type |
El tipo del parámetro. |
Nullable="false" |
Si el parámetro puede aceptar un valor NULL. |
ReturnType
Las funciones deben devolver valores. Una función siempre tendrá un elemento ReturnType
.
Atributo | Descripción |
---|---|
Type |
El tipo del parámetro. |
Nullable="false" |
Si el valor puede ser NULL. |
Ejemplos de definición de la función
Los ejemplos son casos ficticios de definiciones de Function
que muestran diferentes patrones de enlace. Cada uno de estos ejemplos devuelve un valor entero.
Funciones sin enlazar
Una función sin enlazar con un solo parámetro Number
entero.
<Function Name="UnBoundFunctionExample">
<Parameter Name="Number" Type="Edm.Int32" Nullable="false" />
<ReturnType Type="Edm.Int32" Nullable="false" />
</Function>
Función enlazada a una entidad
Una función enlazada a la entidad account
con un parámetro Number
entero.
<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
Una función enlazada a EntitySet account
con un parámetro Number
entero.
<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>
Acciones sobrecargadas
Por lo general, cada función que encuentre en $metadata será la única función con ese nombre. Sin embargo, las funciones enlazadas pueden tener múltiples definiciones cuando están enlazadas a diferentes tipos. El sistema RetrieveUnpublished y las funciones RetrieveUnpublishedMultiple son algunos ejemplos. No puede crear una función sobrecargada usando la API personalizada.
Para obtener más información: Reglas de acciones sobrecargadas de la función de OData 4.0.
Pasos siguientes
Más información sobre los tipos complejos y de enumeración.
Consulte también
Usar la API web de Dataverse
Tipos y operaciones de API web
Documentos de servicio de la API web
EntityTypes de la API web
Propiedades de API web
Propiedades de navegación de la API web
Acciones de la API web
Tipos complejos y de enumeración de API web
OData Version 4.0. Part 3: Common Schema Definition Language (CSDL) Plus Errata 03 Element edm:Function
Nota
¿Puede indicarnos sus preferencias de idioma de documentación? Realice una breve encuesta. (tenga en cuenta que esta encuesta está en inglés)
La encuesta durará unos siete minutos. No se recopilan datos personales (declaración de privacidad).