Source de données REST API

Présentation

Permet de connecter des données provenant d’une API REST.

Installation

Ce plugin est un plugin commercial. Pour plus d’informations sur son activation, consultez le guide d’activation des plugins commerciaux

Ajouter une source REST API

Après avoir activé le plugin, sélectionnez REST API dans le menu déroulant Add new de la gestion des sources de données.

20240721171420

Configurer la source REST API

20240721171507

Ajouter une Collection

Les ressources RESTful correspondent aux Collections de NocoBase, comme la ressource Users.

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

La configuration correspondante dans l’API NocoBase est la suivante

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

Consultez la documentation de l’API pour connaître les spécifications complètes de conception de l’API NocoBase.

20240716213344

Consultez la section « NocoBase API - Core »

20240716213258

La configuration de la Collection de la source de données REST API est la suivante

List

Configurez le mappage de l’interface permettant d’afficher la liste des ressources.

20251201162457

Get

Configurez le mappage de l’interface permettant d’afficher les détails d’une ressource.

20251201162744

Create

Configurez le mappage de l’interface permettant de créer une ressource.

20251201163000

Update

Configurez le mappage de l’interface permettant de mettre à jour une ressource. 20251201163058

Destroy

Configurez le mappage de l’interface permettant de supprimer une ressource.

20251201163204

Les interfaces List et Get sont les deux interfaces obligatoires à configurer.

Déboguer l’API

Correspondance des paramètres de requête

Exemple : configurer les paramètres de pagination pour l’interface List (si l’API tierce ne prend pas elle-même en charge la pagination, la pagination est effectuée à partir des données de la liste obtenue).

20251201163500

Notez que seules les variables déjà ajoutées dans l’interface prennent effet.

Nom du paramètre d’accès à l’API tierceParamètre NocoBase
page{{request.params.page}}
limit{{request.params.pageSize}}

Vous pouvez cliquer sur Try it out pour effectuer un test et afficher le résultat de la réponse.

20251201163635

Conversion du format de réponse

Le format de réponse de l’API tierce peut ne pas être conforme au standard NocoBase. Il doit être converti pour pouvoir être affiché correctement dans l’interface.

20251201164529

Ajustez les règles de conversion en fonction du format de réponse de l’API tierce afin de respecter le standard de sortie de NocoBase.

20251201164629

Description du processus de débogage

20240717110051

Conversion des informations d’erreur

En cas d’erreur de l’API tierce, le format des informations d’erreur renvoyées peut ne pas être conforme au standard NocoBase. Il doit être converti pour pouvoir être affiché correctement dans l’interface.

20251201170545

Lorsque la conversion des informations d’erreur n’est pas configurée, elles sont converties par défaut en informations d’erreur contenant le code d’état HTTP.

20251201170732

Après avoir configuré la conversion des informations d’erreur, celles-ci sont conformes au standard de sortie de NocoBase et l’interface peut afficher correctement les informations d’erreur de l’API tierce.

20251201170946 20251201171113

Variables

La source de données REST API fournit trois catégories de variables pour l’intégration des interfaces.

  • Variables personnalisées de la source de données
  • Requête NocoBase
  • Réponse tierce

Variables personnalisées de la source de données

20240716221937

20240716221858

Requête NocoBase

  • Params : paramètres de requête URL (Search Params), les Params varient selon les interfaces ;
  • Headers : corps de la requête, fournissant principalement certaines informations X- personnalisées de NocoBase ;
  • Body : corps de la requête ;
  • Token : jeton d’API de la requête NocoBase actuelle.

20251201164833

Réponse tierce

Pour le moment, seul le Body de la réponse est fourni.

20251201164915

Les variables disponibles pour l’intégration de chaque interface sont les suivantes :

List

ParamètreDescription
request.params.pageNuméro de la page actuelle
request.params.pageSizeNombre d’éléments par page
request.params.filterCondition de filtrage (doit respecter le format Filter de NocoBase)
request.params.sortRègle de tri (doit respecter le format Sort de NocoBase)
request.params.appendsChamps chargés à la demande, généralement utilisés pour le chargement à la demande des champs relationnels
request.params.fieldsChamps que l’interface doit uniquement renvoyer (liste blanche)
request.params.exceptChamps à exclure (liste noire)

Get

ParamètreDescription
request.params.filterByTkObligatoire, il s’agit généralement de l’ID de la donnée actuelle
request.params.filterCondition de filtrage (doit respecter le format Filter de NocoBase)
request.params.appendsChamps chargés à la demande, généralement utilisés pour le chargement à la demande des champs relationnels
request.params.fieldsChamps que l’interface doit uniquement renvoyer (liste blanche)
request.params.exceptChamps à exclure (liste noire)

Create

ParamètreDescription
request.params.whiteListListe blanche
request.params.blacklistListe noire
request.bodyDonnées initiales à créer

Update

ParamètreDescription
request.params.filterByTkObligatoire, il s’agit généralement de l’ID de la donnée actuelle
request.params.filterCondition de filtrage (doit respecter le format Filter de NocoBase)
request.params.whiteListListe blanche
request.params.blacklistListe noire
request.bodyDonnées à mettre à jour

Destroy

ParamètreDescription
request.params.filterByTkObligatoire, il s’agit généralement de l’ID de la donnée actuelle
request.params.filterCondition de filtrage (doit respecter le format Filter de NocoBase)

Configurer les champs

Extrayez les métadonnées des champs (Fields) à partir des données des interfaces CRUD de la ressource adaptée afin de les utiliser comme champs de la Collection.

20240716223636

Extraire les métadonnées des champs.

20251201165133

Champs et aperçu.

20240716224403

Modifier les champs (de manière similaire aux autres sources de données).

20240716224704

Ajouter un bloc de source de données REST API

Une fois la Collection configurée, vous pouvez ajouter des blocs dans l’interface.

20240716225120