Fuente de datos REST API

Introducción

Se utiliza para conectar datos provenientes de una REST API.

Instalación

Este plugin es comercial. Para conocer los detalles de activación, consulta: Guía de activación de plugins comerciales

Añadir una fuente REST API

Después de activar el plugin, selecciona REST API en el menú desplegable Add new de la gestión de fuentes de datos.

20240721171420

Configurar la fuente REST API

20240721171507

Añadir una Collection

Los recursos RESTful son las Collections de NocoBase; por ejemplo, el recurso Users.

GET /users
POST /users
GET /users/1
PUT /users/1
DELETE /users/1

La configuración correspondiente en la API de NocoBase es:

GET /users:list
POST /users:create
POST /users:get?filterByTk=1
POST /users:update?filterByTk=1
POST /users:destroy?filterByTk=1

Para consultar la especificación completa de diseño de la API de NocoBase, consulta la documentación de la API.

20240716213344

Consulta la sección «NocoBase API - Core».

20240716213258

La configuración de la Collection de la fuente de datos REST API es la siguiente:

List

Configura la asignación de la interfaz para consultar la lista de recursos.

20251201162457

Get

Configura la asignación de la interfaz para consultar los detalles de un recurso.

20251201162744

Create

Configura la asignación de la interfaz para crear un recurso.

20251201163000

Update

Configura la asignación de la interfaz para actualizar un recurso. 20251201163058

Destroy

Configura la asignación de la interfaz para eliminar un recurso.

20251201163204

Las interfaces List y Get son obligatorias.

Depurar la API

Conectar los parámetros de la solicitud

Ejemplo: configura los parámetros de paginación para la interfaz List (si la API de terceros no admite la paginación, los datos de la lista obtenidos se paginarán).

20251201163500

Ten en cuenta que solo tendrán efecto las variables que se hayan añadido en la interfaz.

Nombre del parámetro de la API de tercerosParámetro de NocoBase
page{{request.params.page}}
limit{{request.params.pageSize}}

Puedes hacer clic en Try it out para depurar y consultar el resultado de la respuesta.

20251201163635

Conversión del formato de respuesta

El formato de respuesta de una API de terceros puede no coincidir con el estándar de NocoBase; es necesario convertirlo para que se muestre correctamente en el frontend.

20251201164529

Ajusta las reglas de conversión según el formato de respuesta de la API de terceros para adaptarlo al estándar de salida de NocoBase.

20251201164629

Descripción del proceso de depuración

20240717110051

Conversión de la información de error

Cuando se produce un error en la API de terceros, el formato de la información de error de la respuesta puede no coincidir con el estándar de NocoBase; es necesario convertirlo para que se muestre correctamente en el frontend.

20251201170545

Si no se configura la conversión de la información de error, de forma predeterminada se convertirá en un mensaje de error que incluye el código de estado HTTP.

20251201170732

Después de configurar la conversión de la información de error, esta se adapta al estándar de salida de NocoBase y el frontend puede mostrar correctamente la información de error de la API de terceros.

20251201170946 20251201171113

Variables

La fuente de datos REST API proporciona tres tipos de variables para conectar las interfaces:

  • Variables personalizadas de la fuente de datos
  • Solicitud de NocoBase
  • Respuesta de terceros

Variables personalizadas de la fuente de datos

20240716221937

20240716221858

Solicitud de NocoBase

  • Params: parámetros de consulta de la URL (Search Params); los Params pueden variar según la interfaz.
  • Headers: cuerpo de la solicitud; proporciona principalmente algunos encabezados X- personalizados de NocoBase.
  • Body: cuerpo de la solicitud.
  • Token: token de API de la solicitud actual de NocoBase.

20251201164833

Respuesta de terceros

Actualmente, solo se proporciona el Body de la respuesta.

20251201164915

Las variables disponibles al conectar cada interfaz son las siguientes:

List

ParámetroDescripción
request.params.pagePágina actual
request.params.pageSizeCantidad de elementos por página
request.params.filterCondiciones de filtrado (deben cumplir el formato Filter de NocoBase)
request.params.sortReglas de ordenación (deben cumplir el formato Sort de NocoBase)
request.params.appendsCampos que se cargarán según sea necesario, generalmente para cargar relaciones bajo demanda
request.params.fieldsCampos que la interfaz debe devolver (lista blanca)
request.params.exceptCampos que se deben excluir (lista negra)

Get

ParámetroDescripción
request.params.filterByTkObligatorio; normalmente es el ID de los datos actuales
request.params.filterCondiciones de filtrado (deben cumplir el formato Filter de NocoBase)
request.params.appendsCampos que se cargarán según sea necesario, generalmente para cargar relaciones bajo demanda
request.params.fieldsCampos que la interfaz debe devolver (lista blanca)
request.params.exceptCampos que se deben excluir (lista negra)

Create

ParámetroDescripción
request.params.whiteListLista blanca
request.params.blacklistLista negra
request.bodyDatos iniciales que se crearán

Update

ParámetroDescripción
request.params.filterByTkObligatorio; normalmente es el ID de los datos actuales
request.params.filterCondiciones de filtrado (deben cumplir el formato Filter de NocoBase)
request.params.whiteListLista blanca
request.params.blacklistLista negra
request.bodyDatos que se actualizarán

Destroy

ParámetroDescripción
request.params.filterByTkObligatorio; normalmente es el ID de los datos actuales
request.params.filterCondiciones de filtrado (deben cumplir el formato Filter de NocoBase)

Configurar campos

Extrae los metadatos de los campos (Fields) de los datos de las interfaces CRUD del recurso adaptado para utilizarlos como campos de la Collection.

20240716223636

Extraer los metadatos de los campos.

20251201165133

Campos y vista previa.

20240716224403

Editar campos (de forma similar a otras fuentes de datos).

20240716224704

Añadir un bloque de fuente de datos REST API

Una vez configurada la Collection, puedes añadir bloques desde la interfaz.

20240716225120