Aviso de traducción por IA

Esta documentación ha sido traducida automáticamente por IA.

pkg: "@nocobase/plugin-data-source-rest-api"

Fuente de datos REST API

Origen de datos: REST APIStandard Edition+

Introducción

Este plugin le permite integrar datos de fuentes REST API de manera sencilla.

Instalación

Este plugin es comercial, por lo que necesita subirlo y activarlo a través del gestor de plugins.

20240323162741

Cómo añadir una fuente REST API

Una vez que haya activado el plugin, puede añadir una fuente REST API seleccionándola del menú desplegable "Add new" en la sección de gestión de fuentes de datos.

20240721171420

Configure la fuente REST API.

20240721171507

Cómo añadir una colección

En NocoBase, un recurso RESTful se mapea a una colección, como por ejemplo, un recurso de Usuarios.

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

Estos endpoints de API se mapean en NocoBase de la siguiente manera:

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

Para una guía completa sobre las especificaciones de diseño de la API de NocoBase, consulte la documentación de la API.

20240716213344

Consulte el capítulo "NocoBase API - Core" para obtener información detallada.

20240716213258

La configuración de la colección para una fuente de datos REST API incluye lo siguiente:

Listar

Mapee la interfaz para ver una lista de recursos.

20240716211351

Obtener

Mapee la interfaz para ver los detalles de un recurso.

20240716211532

Crear

Mapee la interfaz para crear un recurso.

20240716211634

Actualizar

Mapee la interfaz para actualizar un recurso. 20240716211733

Eliminar

Mapee la interfaz para eliminar un recurso.

20240716211808

Las interfaces de Listar y Obtener son obligatorias y deben configurarse.

Depuración de la API

Integración de parámetros de solicitud

Ejemplo: Configure los parámetros de paginación para la API de Listar. Si la API de terceros no soporta paginación de forma nativa, NocoBase paginará los datos basándose en la lista recuperada.

20241121205229

Tenga en cuenta que solo las variables añadidas en la interfaz surtirán efecto.

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

Puede hacer clic en "Try it out" para depurar y ver la respuesta.

20241121210320

Transformación del formato de respuesta

El formato de respuesta de la API de terceros podría no ajustarse al estándar de NocoBase, por lo que necesita ser transformado para mostrarse correctamente en el frontend.

20241121214638

Ajuste las reglas de conversión según el formato de respuesta de la API de terceros para asegurar que la salida se ajuste al estándar de NocoBase.

20241121215100

Descripción del proceso de depuración

20240717110051

Variables

La fuente de datos REST API ofrece tres tipos de variables para la integración de interfaces:

  • Variables personalizadas de la fuente de datos
  • Variables de solicitud de NocoBase
  • Variables de respuesta de terceros

Variables personalizadas de la fuente de datos

20240716221937

20240716221858

Solicitud de NocoBase

  • Params: Parámetros de consulta de URL (Search Params), que varían según la interfaz.
  • Headers: Cabeceras de solicitud personalizadas, que proporcionan principalmente información X- específica de NocoBase.
  • Body: El cuerpo de la solicitud.
  • Token: El token de API para la solicitud actual de NocoBase.

20240716222042

Respuestas de terceros

Actualmente, solo está disponible el cuerpo de la respuesta.

20240716222303

A continuación, se muestran las variables disponibles para cada interfaz:

Listar

ParámetroDescripción
request.params.pagePágina actual
request.params.pageSizeNúmero de elementos por página
request.params.filterCriterios de filtro (deben cumplir el formato de filtro de NocoBase)
request.params.sortCriterios de ordenación (deben cumplir el formato de ordenación de NocoBase)
request.params.appendsCampos a cargar bajo demanda, típicamente para campos de asociación
request.params.fieldsCampos a incluir (lista blanca)
request.params.exceptCampos a excluir (lista negra)

Obtener

ParámetroDescripción
request.params.filterByTkObligatorio, típicamente el ID del registro actual
request.params.filterCriterios de filtro (deben cumplir el formato de filtro de NocoBase)
request.params.appendsCampos a cargar bajo demanda, típicamente para campos de asociación
request.params.fieldsCampos a incluir (lista blanca)
request.params.exceptCampos a excluir (lista negra)

Crear

ParámetroDescripción
request.params.whiteListLista blanca
request.params.blacklistLista negra
request.bodyDatos iniciales para la creación

Actualizar

ParámetroDescripción
request.params.filterByTkObligatorio, típicamente el ID del registro actual
request.params.filterCriterios de filtro (deben cumplir el formato de filtro de NocoBase)
request.params.whiteListLista blanca
request.params.blacklistLista negra
request.bodyDatos para la actualización

Eliminar

ParámetroDescripción
request.params.filterByTkObligatorio, típicamente el ID del registro actual
request.params.filterCriterios de filtro (deben cumplir el formato de filtro de NocoBase)

Configuración de campos

Los metadatos de los campos (Fields) se extraen de los datos de la interfaz CRUD del recurso adaptado para servir como los campos de la colección.

20240716223636

Extraiga los metadatos de los campos.

20241121230436

Campos y vista previa.

20240716224403

Edite los campos (de forma similar a otras fuentes de datos).

20240716224704

Cómo añadir bloques de la fuente de datos REST API

Una vez que la colección esté configurada, ya puede añadir bloques a la interfaz.

20240716225120