Saltar al contenido

Objeto REST

Descripción General

Los objetos REST permiten App Builder los desarrolladores pueden utilizar las APIs REST de forma similar a App Builder objetos de datos. Los objetos REST admiten lo siguiente:

  • Operaciones CRUD
  • Integración con varios App Builder controles como paneles de varias filas o de una sola fila y listas
  • Eventos personalizados
  • Clasificación
  • Filtrado (filtrado de cadena de consultar de estilo OData )

Para las APIs REST que admiten operaciones de estilo CRUD, configurar un objeto REST puede ser una forma sencilla de integrar una API con su App Builder aplicación.

Extremos CRUD

Para una API REST de estilo CRUD, deberá configurar Extremos que permitan crear, leer, actualizar y eliminar registros. En general, esto significa 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>

App Builder ejemplo de Configuración de API REST

Los pasos a continuación demuestran cómo configurar los extremos CRUD para an App Builder servidor REST. En este ejemplo, supondremos que existe una tabla como:

Columna Atributos Tipo lógico
CustomerId 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: PUBLICAR
    • 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 más de una vez puede provocar una violación de la clave principal, ya que el registro "abcde" ya existirá en el servidor. Si esto sucede, deberá eliminar el registro existente para que Descubrir funcione. Elimine el registro en el servidor App Builder servidor API REST o configurar e importar el extremo"Eliminar".
  • Volver a la página anterior
  • Seleccione su Extremo 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 Entrada/Salida.
    • Cuando creamos un registro pasamos las tres columnas (Entrada). App Builder el servidor de API REST refleja 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), querremos que nuestro registro contenga 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 - {{nm.ab}} 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 el extremo de sus 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 Entrada/Salida.
  • Asegúrese de que las columnas utilicen el tipo de almacenamiento esperado

Objeto REST

Una vez que se hayan configurado sus 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 ícono de marca de verificación para guardar
  • Haga clic en el ícono 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 ícono de marca de verificación para guardar

Configurar una Sola Composición

  • Haga clic en el ícono Abrir registro para el objeto REST
  • Haga clic en el ícono Comp. única
  • Agregue la tabla clientes (obtener)/artículos al panel Tablas
  • Haga clic en el ícono "*" Botón para agregar todas las columnas
  • Haga doble clic en la columna customerId y configúrela como Clave principal
  • Revise cada columna por turno y configure el Tipo de datos lógicos de manera adecuada
  • Tenga en cuenta que si hace clic en Resultados antes de configurar Many Comp (a continuación), recibirá un mensaje de error "Sin secuencia". Primero deberá configurar el objeto Many.
  • Regrese a la pantalla Objetos REST

Configurar Muchas Comp

  • Haga clic en el ícono Many Comp
  • Agregue la tabla customers (get)/items al panel Tablas
  • Haga clic en el ícono "*" Botón para agregar todas las columnas
  • Establezca las columnas Target con sus nombres de columna correspondientes
  • Haga doble clic en la columna customerId y configúrela como Primary Key
  • Haga clic en Results y verifique que ve los datos apropiados
  • Regrese a la pantalla REST Objects

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) customerId artículo/customerId
Insertar clientes (insertar) customerId artículo/customerId
" " díasActivos artículo/díasActivos
" " nombre artículo/nombre
Actualizar clientes (actualizar) customerId artículo/customerId
" " 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 manera similar a otros App Builder objetos de datos. Para agregar 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 {{nm.ab}} 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:

  • Agregue un evento mayúscula al {{nm.ab}} mesa
  • 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: POST
    • Entrada de muestra - {{nm.ab}} 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 (mayúsculas)
  • Establezca la columna customerId como Clave principal
  • Verifique que las direcciones de las columnas 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 (mayúscula)
  • 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 Tablas:
    • 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

Ahora, para conectarlo todo, queremos crear el evento Uppercase en el objeto REST.

  • Vaya a App Workbench > Fuentes de datos > Seleccione su fuente de datos REST > Lógica
  • Haga clic en el ícono Eventos para 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 en customerId
  • Regrese a la página Eventos
  • Haga doble clic en el evento Uppercase
  • Establezca el ámbito de actualización en Fila

Debería estar todo listo para llamar al evento personalizado. Para probar, puede crear una página con un Panel de varias filas 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 dan son los nombres de los parámetros App Builder utiliza cuando accedes App Builder 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 valores para ordenar, paginar y filtrar. La información presentada en estas secciones tiene como objetivo ayudarlo a comprender qué son cada uno de los tipos de uso y cómo usarlos independientemente del nombre de parámetro utilizado por la API REST a la que está accediendo. App Builder los parámetros de API utilizados en estas secciones están documentados 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 ordenación: establezca este tipo de uso en el parámetro REST que la API utiliza para ordenar. El proveedor de la API definirá el nombre y el contenido de este parámetro. Para este ejemplo, utilizamos el App Builder nombre del parámetro API de $sort.

Para Habilitar la Clasificación (con an App Builder servidor REST):

  • 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
  • Establezca el tipo en Consulta
  • Establezca el nombre en $sort
  • Deje el valor en blanco
  • Establezca el tipo de uso en Solicitar ordenación
  • Haga clic en el ícono de marca de verificación para guardar

Ahora debería poder ordenar cualquier dato que se obtenga con este App Builder fuente de datos REST.

Paginación

Los tipos de uso que tratan con la paginación son Recuento de solicitudes, Límite de solicitudes, Desplazamiento de solicitud, Número de página de solicitud y Total de filas de respuesta.

  • Recuento de solicitudes: configure este tipo de uso en el parámetro REST que la API utiliza para indicar que desea que se devuelva un 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. Para este ejemplo, usamos el App Builder nombre del parámetro API de $count.
  • Límite de solicitud: configure este tipo de uso en el parámetro REST que la API utiliza para indicar que desea que se devuelva un 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. Para este ejemplo, usamos el App Builder nombre del parámetro API de $limit.
  • Desplazamiento de solicitud: configure este tipo de uso en el parámetro REST que la API utiliza para indicar en qué fila desea comenzar a devolver datos. Para este ejemplo, usamos el App Builder nombre del parámetro API de $offset.
  • Solicitar número de página: configure este tipo de uso en el parámetro REST que la API utiliza para indicar en qué página desea comenzar 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. App Builder la API no define un parámetro para el número de página.
  • Total de filas de respuesta: configure este tipo de uso en el parámetro REST que la API utiliza para devolver un recuento total de filas en la respuesta. Algunas APIs no devuelven automáticamente un recuento total en su respuesta y requieren un parámetro específico como activador. Consulte el tipo de uso Recuento de solicitudes más arriba.

Para Habilitar la Paginación (con an App Builder servidor REST):

  • 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 Solicitar compensación
    • Haga clic en el ícono de marca de verificación para guardar
  • Para todos los Extremos que admiten paginación, navegue hasta 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

Cuando configura un panel para mostrar datos de objetos REST, hay opciones disponibles en Edge Case que brindan control sobre cómo el panel muestra los registros. Puede controlar si App Builder carga una cantidad determinada de registros junto con un botón Cargar más filas, o si muestra una cantidad determinada de registros junto con controles de navegación de paginación en la región de la barra de herramientas para cargar más registros.

Además, si la configuración de la API REST lo admite, puede establecer el número de registros App Builder se muestra inicialmente en el panel.

Para Cargar Más Filas
  • Navegue hasta el panel usando el objeto REST como origen
  • Vaya a Diseñar esta página
  • Vaya a Más > Caso extremo para el panel
  • Establezca la Opción de paginación en Cargar más filas
Para Habilitar la Paginación
  • Navegue hasta el panel usando el objeto REST como origen
  • Vaya a Diseñar esta página
  • Vaya a Más > Caso extremo para el panel
  • Establezca la Opción de paginación en Paginación
Para Establecer el Número de Registros Iniciales Cargados
  • Navegue hasta el panel usando el objeto REST como origen
  • Vaya a Diseñar esta página
  • Vaya a Más > Caso extremo para el panel
  • Establezca Filas por solicitud en el valor numérico que desea cargar inicialmente

Filtrado

Los tipos de uso que se ocupan del filtrado son Filtro de solicitud y Filtro de solicitud (OData). Establezca este tipo de uso en el parámetro REST que la API utiliza para el filtrado. El filtro de solicitud es para el filtrado simple, mientras que el filtro de solicitud (OData) es para el filtrado mediante el estándar OData. Este estándar define diferentes condiciones de filtrado. App Builder la API utiliza un filtro de estilo OData como el que se utilizó en nuestro ejemplo. Consulte la documentación específica de su API para ver si se admite el filtrado OData antes de usarlo. Puede encontrar más información sobre el filtrado OData aquí en Recomendaciones de API REST artículo.

Para Habilitar el Filtrado (con an App Builder servidor REST):

  • 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
    • Establezca 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 esto App Builder fuente de datos REST.

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