Ce document a été traduit par IA. Pour des informations précises, veuillez consulter la version anglaise.
Une ressource API générique pour effectuer des requêtes basées sur des URL, adaptée à n'importe quelle interface HTTP. Elle hérite de la classe de base FlowResource et l'étend avec la configuration de requête et la méthode refresh(). Contrairement à MultiRecordResource et SingleRecordResource, APIResource ne dépend pas d'un nom de ressource ; elle effectue des requêtes directement par URL, ce qui la rend adaptée aux interfaces personnalisées, aux API tierces et à d'autres scénarios.
Méthode de création : ctx.makeResource('APIResource') ou ctx.initResource('APIResource'). Vous devez appeler setURL() avant l'utilisation. Dans le contexte RunJS, ctx.api (APIClient) est automatiquement injecté, il n'est donc pas nécessaire d'appeler setAPIClient manuellement.
| Scénario | Description |
|---|---|
| Interface personnalisée | Appeler des API de ressources non standard (par ex., /api/custom/stats, /api/reports/summary). |
| API tierce | Requêter des services externes via une URL complète (nécessite que la cible supporte le CORS). |
| Requête ponctuelle | Récupération temporaire de données jetables qui n'ont pas besoin d'être liées à ctx.resource. |
| Choisir entre APIResource et ctx.request | Utilisez APIResource lorsque des données réactives, des événements ou des états d'erreur sont nécessaires ; utilisez ctx.request() pour des requêtes simples et uniques. |
Toutes les ressources possèdent les éléments suivants :
| Méthode | Description |
|---|---|
getData() | Récupérer les données actuelles. |
setData(value) | Définir les données (local uniquement). |
hasData() | Vérifier si des données existent. |
getMeta(key?) / setMeta(meta) | Lire/écrire des métadonnées. |
getError() / setError(err) / clearError() | Gestion de l'état d'erreur. |
on(event, callback) / once / off / emit | Abonnement et déclenchement d'événements. |
| Méthode | Description |
|---|---|
setAPIClient(api) | Définir l'instance APIClient (généralement injectée automatiquement dans RunJS). |
getURL() / setURL(url) | URL de la requête. |
loading | Lire/écrire l'état de chargement (get/set). |
clearRequestParameters() | Effacer les paramètres de requête. |
setRequestParameters(params) | Fusionner et définir les paramètres de requête. |
setRequestMethod(method) | Définir la méthode de requête (par ex., 'get', 'post', par défaut 'get'). |
addRequestHeader(key, value) / removeRequestHeader(key) | En-têtes de requête. |
addRequestParameter(key, value) / getRequestParameter(key) / removeRequestParameter(key) | Ajouter, supprimer ou consulter un paramètre unique. |
setRequestBody(data) | Corps de la requête (utilisé pour POST/PUT/PATCH). |
setRequestOptions(key, value) / getRequestOptions() | Options de requête générales. |
users:list ou posts:get, qui seront concaténés avec la baseURL./api/custom/endpoint, concaténé avec la baseURL de l'application.| Méthode | Description |
|---|---|
refresh() | Initie une requête basée sur l'URL, la méthode, les paramètres, les en-têtes et les données actuels. Elle écrit les données de réponse via setData(data) et déclenche l'événement 'refresh'. En cas d'échec, elle définit l'erreur via setError(err) et l'événement refresh n'est pas déclenché. Nécessite que api et l'URL soient définis. |
ctx.api est injecté par l'environnement ; l'appel manuel à setAPIClient est généralement inutile. S'il est utilisé dans un scénario sans contexte, vous devez le définir vous-même.refresh() initie une requête basée sur la configuration actuelle ; la méthode, les paramètres, les données, etc., doivent être configurés avant l'appel.getData() conserve sa valeur précédente ; les informations d'erreur peuvent être récupérées via getError().ctx.request() pour des requêtes simples et uniques ; utilisez APIResource lorsque des données réactives, des événements et une gestion de l'état d'erreur sont requis.ctx.resource