Saltar al contenido

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 - Igual
  • neq- No es igual
  • gt- Mayor que
  • ge- Mayor o igual que
  • lt- Menos que
  • le - 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