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, par exemple 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 obligatoires.

Déboguer l’API

Mappage 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

Veuillez noter que seules les variables déjà ajoutées dans l’interface seront prises en compte.

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

Cliquez 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 différer du format standard de NocoBase. Une conversion est nécessaire pour permettre un affichage correct dans l’interface.

20251201164529

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

20251201164629

Description du processus de débogage

20240717110051

Conversion des informations d’erreur

Lorsqu’une erreur survient au niveau de l’API tierce, le format des informations d’erreur renvoyées peut différer du format standard de NocoBase. Une conversion est nécessaire pour permettre un affichage correct dans l’interface.

20251201170545

Si aucune conversion des informations d’erreur n’est 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 adaptées au format de sortie standard de NocoBase, ce qui permet à l’interface d’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 le mappage 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 peuvent varier selon l’interface ;
  • Headers : corps de la requête, fournissant principalement certaines informations personnalisées X- de NocoBase ;
  • Body : corps de la requête ;
  • Token : jeton 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 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.filterConditions de filtrage (doivent respecter le format Filter de NocoBase)
request.params.sortRègles de tri (doivent 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 de relation
request.params.fieldsChamps que l’interface doit uniquement renvoyer (liste blanche)
request.params.exceptChamps à exclure (liste noire)

Get

ParamètreDescription
request.params.filterByTkObligatoire, généralement l’ID de la donnée actuelle
request.params.filterConditions de filtrage (doivent 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 de relation
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, généralement l’ID de la donnée actuelle
request.params.filterConditions de filtrage (doivent 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, généralement l’ID de la donnée actuelle
request.params.filterConditions de filtrage (doivent 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