Saltar al contenido

Estructuras Complejas de API REST

Descripción General

Novedades en Vinyl 2.6, App Builder la API REST de ahora admite estructuras de API REST complejas para GET operaciones. Con esta mejora, ahora es posible solicitar datos de varias tablas y anidar los resultados en una única estructura JSON devuelta.

Nota

Otros métodos HTTP como POST y PUT actualmente no son compatibles.

Configuración

  • Navegar a App Builder IDE > Amplíe su empresa > Publique
  • Cree su extremo REST como de costumbre con su tabla raíz/ extremo
  • Haga clic en el ícono Estructura para su extremo
  • Agregar recursos secundarios según sea necesario

Parámetros de Recursos

Nombre Descripción
Padre La tabla padre en la jerarquía.
Nombre El nombre de este nodo en la estructura de árbol. Tenga en cuenta que el nombre puede incluir barras diagonales para anidar la estructura aún más profundamente.
Tabla La tabla de la que se recuperarán los datos.
Tipo de campo El tipo de campo.
  • Matriz de objetos: este es el tipo predeterminado donde cada fila de la tabla es un objeto JSON.
  • Matriz de escalares: una matriz de elementos de un solo valor, serializados en una matriz JSON de escalares. La tabla debe contener Index y Value columnas.
  • Objeto: asigna a un único objeto JSON (eliminando efectivamente la matriz JSON). La tabla solo debe devolver una fila como máximo.
Expandir por defecto Si es verdadero, la tabla se expande por defecto (se muestra en el JSON de salida). Si es falso, el llamador REST deberá proporcionar un $expand=true propiedad de cadena de consultar para ver los datos
Tenga en cuenta que esta propiedad solo afecta a una solicitud de recopilación (por ejemplo, /orders). Una solicitud de un artículo específico de una colección (p. ej. /orders/101) siempre expandirá las tablas secundarias.
Obtener límite máximo Si se proporciona, indica el límite máximo de artículos que se pueden devolver en un GET solicitud. Si es NULL, se utiliza el valor máximo predeterminado para la API REST.

Cambios en los Parámetros de Consultar

Se han modificado los siguientes parámetros de consultar para que funcionen con estructuras de API REST complejas:

  • $fieldsle permite especificar tablas secundarias
    • Por ejemplo details/*: Todos los campos de la details tabla secundaria
    • P. ej. details/name: Solo el name campo de la details tabla secundaria
    • P. ej. *: Todos los campos en todas las tablas
  • $expandSe agregó un parámetro verdadero/falso para permitir que el llamador REST expanda las tablas que no están expandidas de manera predeterminada (o viceversa). Solo se usa para solicitudes de recopilación.
    • Por ejemplo $expand=true