Objeto REST en Jitterbit App Builder
Descripción general
Los objetos REST permiten a los desarrolladores de App Builder usar las APIs REST de forma similar a los objetos de datos de App Builder. Los objetos REST admiten lo siguiente:
- Operaciones CRUD
- Integración con varios controles de App Builder, como paneles de varias filas o de una sola fila y listas
- Eventos personalizados
- Clasificación
- Filtrado (cadena de consultar de filtro de estilo OData)
Para las APIs REST que admiten operaciones de estilo CRUD, configurar un objeto REST puede ser una manera sencilla de integrar una API con su aplicación App Builder.
Extremos CRUD
Para una API REST de estilo CRUD, deberá configurar Extremos que permitan crear, leer, actualizar y eliminar registros. En general, esto implica configurar los siguientes Extremos:
Operación | Método | URL de ejemplo |
---|---|---|
Crear | PUBLICAR en un recurso de colección | https://api.example.com/rest/v1/customers |
Leer | OBTENER de un recurso de colección | https://api.example.com/rest/v1/customers |
Actualizar | PONER o PUBLICAR en un recurso de elemento | https://api.example.com/rest/v1/customers/<customerId> |
Eliminar | ELIMINAR de un recurso de elemento | https://api.example.com/rest/v1/customers/<customerId> |
Ejemplo de configuración de la API REST de App Builder
Los pasos a continuación muestran cómo configurar los extremos CRUD para un servidor REST de App Builder. En este ejemplo, asumiremos que existe una tabla como la siguiente:
Columna | Atributos | Tipo lógico |
---|---|---|
ID de cliente | Clave principal | Cadena |
Nombre | Cadena | |
DíasActivos | Entero |
Esta API REST se expone desde el extremo "Northwinds" como un recurso llamado "clientes". Por lo tanto, la URL para acceder a este extremo sería:
https://api.example.com/rest/v1/northwinds/customers
Asegúrese de haber configurado la API REST en su servidor y de haber creado la fuente de datos REST antes de continuar.
Leer extremo
- Vaya a IDE > Servidores de datos > Su servidor de datos REST > Detalles
- Haga clic en + Extremo en el panel Extremos y configure la siguiente información:
- Nombre: clientes (obtener)
- Extremo: clientes
- Método: OBTENER
- Haga clic en Guardar
- Haga clic en Descubrir
- Volver a la página anterior
- Seleccione su extremo clientes (obtener)
- Tenga en cuenta que hay tres tablas de salida
- Haga doble clic en la tabla clientes (obtener)/artículos
- Establezca la columna customerId como clave principal
- Asegúrese de que las columnas utilicen el tipo de almacenamiento esperado
- Haga clic en Resultados y verifique que los datos devueltos sean los esperados
Crear
- Vaya a IDE > Servidores de datos > Su servidor de datos REST > Detalles
-
Haga clic en + Extremo en el panel Extremos y configure la siguiente información
- Nombre: clientes (insertar)
- Extremo: clientes
- Método: PUBLICACIÓN
-
Entrada de muestra - App Builder espera que la entrada tenga el siguiente formato:
{ "item": { "customerId": "abcde", "name": "Test Customer", "daysActive": 10 } }
-
Haga clic en Guardar
- Haga clic en Descubrir
- Tenga en cuenta que hacer clic en Descubrir varias veces puede causar una violación de la clave principal, ya que el registro "abcde" ya existe en el servidor. Si esto ocurre, deberá eliminar el registro existente para que Descubrir funcione. Elimine el registro en el servidor de la API REST de App Builder o configure e importe el extremo"Eliminar".
- Volver a la página anterior
- Seleccione su Extremo de clientes (insertar)
- Haga doble clic en la tabla clientes (insertar)
- Establezca la columna customerId como clave principal
- Establezca las columnas customerId, name y daysActive en dirección Input/Output.
- Al crear un registro, pasamos las tres columnas (Entrada). El servidor de la API REST de App Builder reproduce estas columnas en el JSON devuelto (Salida). Si, por alguna razón, el servidor devolvió un valor diferente al que enviamos (quizás al formatear una cadena), nuestro registro deberá contener los valores devueltos.
- Asegúrese de que las columnas utilicen el tipo de almacenamiento esperado
Actualizar
- Vaya a IDE > Servidores de datos > Su servidor de datos REST > Detalles
- Haga clic en + Extremo en el panel Extremos y configure la siguiente información
- Nombre: clientes (actualizar)
- Extremo: clientes/{{item/customerId}}
- Método: POST
-
Entrada de muestra - App Builder espera que la entrada tenga el siguiente formato:
{ "item": { "customerId": "abcde", "name": "Test Customer (updated)", "daysActive": 10 } }
-
Haga clic en Guardar
- Haga clic en Descubrir
- Volver a la página anterior
- Seleccione su extremo de clientes (actualización)
- Haga doble clic en la tabla clientes (actualizar)
- Establezca la columna customerId como clave principal
- Establezca las columnas customerId, name y daysActive en dirección Input/Output.
- Asegúrese de que las columnas utilicen el tipo de almacenamiento esperado
Objeto REST
Una vez configurados los Extremos CRUD, puede crear el objeto REST.
Crear objeto REST
- Vaya a IDE > Servidores de datos > Su servidor de datos REST > Detalles
- Haga clic en Más > Superobjetos
- Haga clic en + Objeto REST
- Asigne un nombre a su objeto REST... asumiremos que es Clientes
- Haga clic en el icono de la marca de verificación para guardar
- Haga clic en el icono de edición con forma de lápiz
- Habilite Insertar, Actualizar y Eliminar haciendo clic, según corresponda
- Haga clic en Continuar o en el icono de la marca de verificación para guardar
Configurar una sola composición
- Haga clic en el icono Abrir registro del objeto REST.
- Haga clic en el icono Comp. única.
- Agregue la tabla clientes (obtener)/artículos al panel Tablas.
- Haga clic en el icono
"*"
Botón para agregar todas las columnas. - Haga doble clic en la columna customerId y configúrela como Clave principal.
- Revise cada columna una por una y configure el Tipo de dato lógico según corresponda.
- Tenga en cuenta que si hace clic en Resultados antes de configurar la Comp. Múltiples (abajo), recibirá un mensaje de error "Sin secuencia". Primero deberá configurar el objeto Múltiples.
- Regrese a la pantalla Objetos REST.
Configurar muchas computadoras
- Haga clic en el icono Muchas compras
- Añada la tabla clientes (obtener)/artículos al panel Tablas
- Haga clic en el icono
"*"
Botón para agregar todas las columnas. - Asigne a las columnas Target sus nombres correspondientes.
- Haga doble clic en la columna customerId y configúrela como Clave principal.
- Haga clic en Resultados y verifique que vea los datos correctos.
- Regrese a la pantalla Objetos REST.
Configurar extremos CRUD
Para cada lista de operación CRUD, configure el Extremo y los enlaces según la siguiente tabla:
Operación CRUD | Extremo | Enlace (objeto REST) | Enlace (Extremo) |
---|---|---|---|
Eliminar | clientes (eliminar) | ID de cliente | artículo/ID de cliente |
Insertar | clientes (insertar) | IDdecliente | artículo/IDdecliente |
" | " | díasActivos | artículo/díasActivos |
" | " | nombre | artículo/nombre |
Actualizar | clientes (actualizar) | ID de cliente | artículo/ID de cliente |
" | " | díasActivos | artículo/díasActivos |
" | " | nombre | artículo/nombre |
Ahora debería poder hacer clic en el botón Resultados en su objeto REST y agregar, eliminar o actualizar filas.
Eventos personalizados
Los objetos REST pueden definir eventos personalizados de forma similar a otros objetos de datos de App Builder. Para añadir un evento personalizado a su objeto REST, deberá:
- Crear un Extremo de evento personalizado
- Crear una regla CRUD para insertar en el Extremo
- Necesitará una aplicación configurada con la fuente de datos
- Agregar un evento personalizado al objeto REST
Crear un extremo de evento personalizado
En App Builder, se puede llamar a un evento personalizado en una tabla mediante esta notación de URL:
https://example.com/rest/v1/northwinds/mytable(myevent)/{{columnaclaveprimaria}}
Por ejemplo, si continuamos usando el ejemplo anterior, el siguiente Extremo apuntaría a un evento "mayúscula" en la tabla "clientes":
customers(uppercase)/{{item/customerId}}
Para configurar esto, haga lo siguiente:
- Agregar un evento en mayúsculas a la tabla App Builder
- Ahora configura el lado que consume REST...
- Vaya a IDE > Servidores de datos > Su servidor de datos REST > Detalles
-
Haga clic en + Extremo en el panel Extremos y configure la siguiente información
- Nombre: clientes (en mayúsculas)
- Extremo:
customers(uppercase)/{{item/customerId}}
- Método: PUBLICACIÓN
-
Entrada de muestra - App Builder espera que la entrada tenga el siguiente formato:
{ "item": { "customerId": "abcde" } }
-
Haga clic en Guardar
- Haga clic en Descubrir
- Seleccione su extremo clientes (en mayúsculas)
- Haga doble clic en la tabla clientes (en mayúsculas)
- Establezca la columna customerId como Clave principal
- Verifique que las direcciones de la columna de salida y los tipos de almacenamiento sean los esperados.
Crear una regla CRUD de evento personalizada
Para llamar al extremo del evento personalizado desde su objeto REST, debe crear una regla que se inserte en el Extremo.
- Vaya a App Workbench > Fuentes de datos > Seleccione su fuente de datos REST > Lógica
- Seleccione el Extremo cliente (en mayúsculas)
- Haga clic en + Regla en el panel Reglas y configure lo siguiente
- Nombre: Cliente (mayúscula) Insertar
- Propósito: CRUD
- Acción: Insertar
- Fuente de datos de origen/destino: Su fuente de datos
- Objetivo: clientes (en mayúsculas)
- Haga clic en Guardar
- Desde la pestaña:
- Seleccione la columna customerId y configure el artículo/customerId correspondiente como la columna de destino
Crear evento en mayúsculas en un objeto REST
Para conectarlo todo, queremos crear el evento "Mayúsculas" en el objeto REST.
- Vaya a App Workbench > Fuentes de datos > Seleccione su fuente de datos REST > Lógica
- Haga clic en el icono Eventos de su objeto REST
- En el panel Eventos, haga clic en + Evento de tabla
- Establezca Nombre en Mayúsculas
- Haga clic en Guardar
- En el panel Acciones, haga clic en Registrar existente
- Seleccione la regla Insertar clientes (mayúsculas)
- Haga clic en Guardar
- Inserte enlaces explícitos para customerId a customerId
- Regrese a la página Eventos
- Haga doble clic en el evento "Mayúsculas"
- Establezca el ámbito de actualización en Fila
Debería estar listo para llamar al evento personalizado. Para probar, puede crear una página con un panel multifila que tenga un botón para llamar al evento.
Ordenación, paginación y filtrado: tipo de uso
Las siguientes secciones sobre Ordenación, Paginación y Filtrado describen la configuración del Tipo de Uso en parámetros específicos. Los ejemplos que se muestran son los nombres de los parámetros que App Builder App Builder al acceder a través de una interfaz de API REST. Si accede a otros extremos de servidor de API REST externos, estos tendrán su propia lista única de nombres de parámetros y formatos de valor para Ordenación, Paginación y Filtrado. La información presentada en estas secciones le ayudará a comprender qué es cada uno de los Tipos de Uso y cómo usarlos, independientemente del nombre del parámetro que utilice la API REST a la que acceda. Los parámetros de la API de App Builder utilizados en estas secciones se documentan con más detalle en la API REST artículo.
Ordenando
El tipo de uso que se ocupa de la clasificación es Solicitar clasificación.
Solicitar Ordenamiento: Establezca este tipo de uso en el parámetro REST que la API utiliza para ordenar. El nombre y el contenido de este parámetro serán definidos por el proveedor de la API. En este ejemplo, usamos el nombre del parámetro de la API de App Builder. $sort
.
Para habilitar la clasificación (con un servidor REST de App Builder ):
- Vaya a IDE > Servidores de datos
- Seleccione su fuente de datos REST
- Haga clic en Detalles
- En Parámetros del servicio web, haga clic en + Parámetro
- Establecer tipo en Consulta
- Establecer nombre en $sort
- Dejar el valor en blanco
- Establezca el tipo de uso en Ordenación de solicitud
- Haga clic en el icono de marca de verificación para guardar
Ahora debería poder ordenar cualquier dato que se obtenga utilizando esta fuente de datos REST de App Builder.
Paginación
Los tipos de uso que tratan con la paginación son Recuento de solicitudes, Límite de solicitudes, Desplazamiento de solicitudes, Número de página de solicitud y Total de filas de respuesta.
Recuento de solicitudes: Establezca este tipo de uso en el parámetro REST que la API utiliza para indicar que desea que se devuelva el recuento total de filas. Algunas APIs no devuelven automáticamente un recuento total en su respuesta y requieren un parámetro específico como activador. En este ejemplo, usamos el nombre del parámetro de la API de App Builder. $count
. Límite de solicitud: Establezca este tipo de uso en el parámetro REST que la API utiliza para indicar que desea que se devuelva el recuento total de filas. Algunas APIs no devuelven automáticamente un recuento total en su respuesta y requieren un parámetro específico como activador. En este ejemplo, usamos el nombre del parámetro de la API de App Builder. $limit
. Desplazamiento de solicitud: Establezca este tipo de uso en el parámetro REST que la API utiliza para indicar en qué fila desea comenzar a devolver datos. En este ejemplo, usamos el nombre del parámetro de la API de App Builder. $offset
. Solicitar número de página: Establezca este tipo de uso en el parámetro REST que la API utiliza para indicar en qué página desea empezar a devolver datos. Algunas APIs utilizan el número de página en lugar del desplazamiento, o pueden ofrecer ambos. Debe definir solo uno para su extremo, no ambos. La API de App Builder no define un parámetro para el número de página. Total de filas de la respuesta: Establezca este tipo de uso en el parámetro REST que la API utiliza para devolver el recuento total de filas en la respuesta. Algunas APIs no devuelven automáticamente el recuento total en su respuesta y requieren un parámetro específico como disparador. Consulte el tipo de uso "Recuento de solicitudes" más arriba.
Para habilitar la paginación (con un servidor REST de App Builder ):
- Vaya a IDE > Servidores de datos
- Seleccione su fuente de datos REST
- Haga clic en Detalles
- En Parámetros del servicio web, haga clic en + Parámetro
- Establecer tipo en Consulta
- Establecer nombre en $count
- Establecer el valor en verdadero
- Establezca el tipo de uso en Recuento de solicitudes
- Haga clic en el ícono de marca de verificación para guardar
- En Parámetros del servicio web, haga clic en + Parámetro
- Establecer tipo en Consulta
- Establecer nombre en $limit
- Dejar el valor en blanco
- Establecer el tipo de uso en Límite de solicitud
- Haga clic en el ícono de marca de verificación para guardar
- En Parámetros del servicio web, haga clic en + Parámetro
- Establecer tipo en Consulta
- Establecer nombre en $offset
- Dejar el valor en blanco
- Establezca el tipo de uso en Desplazamiento de solicitud
- Haga clic en el ícono de marca de verificación para guardar
- Para todos los Extremos que admiten paginación, navegue a la tabla de Extremo que contiene el parámetro "count".
- En nuestro ejemplo anterior, esta sería la tabla de clientes (obtener)
- Establezca el tipo de uso de la columna de recuento en Total de filas de respuesta
El botón Cargar más filas ahora debería funcionar para cualquier dato obtenido desde este Extremo.
Opciones de visualización del panel
Al configurar un panel para mostrar datos de objetos REST, existen opciones disponibles en Edge Case que permiten controlar cómo se muestran los registros. Puede controlar si App Builder carga un número determinado de registros con el botón "Cargar más filas" o si muestra un número determinado de registros con controles de navegación de paginación en la barra de herramientas para cargar más registros.
Además, si la configuración de la API REST lo admite, puedes establecer la cantidad de registros que App Builder muestra inicialmente en el panel.
Para cargar más filas
- Acceda al panel usando el objeto REST como origen.
- Vaya a Diseñar esta página.
- Vaya a Más > Caso extremo para el panel.
- Configure la Opción de paginación en Cargar más filas.
Para habilitar la paginación
- Acceda al panel usando el objeto REST como fuente.
- Vaya a Diseñar esta página.
- Vaya a Más > Caso extremo para el panel.
- Configure la Opción de paginación en Paginación.
Para establecer el número de registros iniciales cargados
- Acceda al panel usando el objeto REST como fuente.
- Vaya a Diseñar esta página.
- Vaya a Más > Caso extremo para el panel.
- Establezca Filas por solicitud con el valor numérico que desea cargar inicialmente.
Filtrado
Los tipos de uso que gestionan el filtrado son Filtro de solicitud y Filtro de solicitud (OData). Configure este tipo de uso en el parámetro REST que la API utiliza para el filtrado. El filtro de solicitud se utiliza para un filtrado simple, mientras que el filtro de solicitud (OData) se utiliza para el filtrado según el estándar OData. Este estándar define diferentes condiciones de filtrado. La API de App Builder utiliza un filtro de estilo OData, como el de nuestro ejemplo. Consulte la documentación específica de su API para comprobar si el filtrado OData es compatible antes de usarlo. Puede encontrar más información sobre el filtrado OData en Recomendaciones de la API REST artículo.
Para habilitar el filtrado (con un servidor REST de App Builder ):
- Vaya a IDE > Servidores de datos
- Seleccione su fuente de datos REST
- Haga clic en Detalles
- En Parámetros del servicio web, haga clic en + Parámetro
- Establecer tipo en Consulta
- Establecer nombre en $filter
- Dejar el valor en blanco
- Establecer el tipo de uso en Filtro de solicitud (OData)
- Haga clic en el ícono de marca de verificación para guardar
Ahora debería poder filtrar cualquier dato que se obtenga utilizando esta fuente de datos REST de App Builder.
El filtrado a través de un servicio REST admite lo siguiente:
Operadores
eq
- Igualneq
- No es igualgt
- Mayor quege
- Mayor o igual quelt
- Menos quele
- Menor o igual que
Limitaciones
- Sin operadores aritméticos
- No hay operadores lógicos o/no
- Sin operadores de agrupación
- Sin funciones de consultar
- Sin alias de parámetros