Saltar al contenido

Estructuras Complejas de API REST

Descripción General

Como novedad en VInyl 2.6, la API REST de Vinyl ahora admite estructuras 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

  • Vaya a Vinyl IDE > Amplíe su empresa > Publicar
  • Cree su extremo REST como de costumbre con su tabla raíz/ extremo
  • Haga clic en el icono Estructura de su extremo
  • Agregar recursos secundarios según sea necesario

Parámetros de Recursos

Nombre Descripción
Padre La tabla principal 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.
Mesa La tabla de la que recuperar 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 a una matriz JSON de escalares. La tabla debe contener Index y Value columnas.
  • Objeto: se asigna a un único objeto JSON (eliminando efectivamente la matriz JSON). La tabla sólo debe devolver una fila como máximo.
Expandir por defecto Si es verdadero, la tabla se expande de forma predeterminada (se muestra en el JSON de salida). Si es falso, la persona que llama REST deberá proporcionar un $expand=true propiedad de cadena de consultar para ver los datos
Tenga en cuenta que esta propiedad solo afecta una solicitud de recopilación (p. ej. /orders). Una solicitud de un artículo específico en 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 pedido. Si es NULL, se utiliza el valor máximo predeterminado para la API REST.
Enlaces de recursos Configura los enlaces entre las tablas principal y secundaria.

Cambios en los Parámetros de Consulta

Los siguientes parámetros de consultar se han modificado para funcionar con estructuras complejas de API REST:

  • $fields le permite especificar tablas secundarias
    • Por ej. details/*: Todos los campos del details mesa infantil
    • Por ej. details/name: Solo el name campo de la details mesa infantil
    • Por ej. *: Todos los campos en todas las tablas
  • $expand Se agregó un parámetro verdadero/falso para permitir que la persona que llama REST expanda tablas que no están expandidas de forma predeterminada (o viceversa). Sólo se utiliza para solicitudes de cobro.
    • Por ej. $expand=true