Cette documentation a été traduite automatiquement par IA.
NocoBase met à votre disposition un APIClient basé sur Axios. Vous pouvez l'utiliser pour effectuer des requêtes HTTP depuis n'importe quel endroit où vous avez accès à un Context.
Voici les emplacements courants où vous pouvez obtenir un Context :
app.contextengine.contextplugin.contextmodel.contextLa méthode ctx.api.request() est la plus couramment utilisée pour envoyer des requêtes. Ses paramètres et ses valeurs de retour sont strictement identiques à ceux de axios.request().
Utilisation de base
Vous pouvez utiliser directement les configurations de requête Axios standard :
ctx.api.axios est une instance de type AxiosInstance. Elle vous permet de modifier les configurations globales par défaut ou d'ajouter des intercepteurs de requêtes.
Modification de la configuration par défaut
Pour plus de configurations disponibles, consultez la configuration par défaut d'Axios.
Les intercepteurs permettent de traiter les requêtes avant leur envoi ou les réponses après leur réception. Par exemple, vous pouvez les utiliser pour ajouter des en-têtes de requête de manière uniforme, sérialiser des paramètres ou afficher des messages d'erreur centralisés.
Voici les en-têtes de requête personnalisés pris en charge par le serveur NocoBase. Ils sont utiles dans les scénarios multi-applications, d'internationalisation, multi-rôles ou multi-authentification.
| En-tête | Description |
|---|---|
X-App | Spécifie l'application actuellement accédée dans les scénarios multi-applications |
X-Locale | Langue actuelle (par exemple : zh-CN, en-US) |
X-Hostname | Nom d'hôte du client |
X-Timezone | Fuseau horaire du client (par exemple : +08:00) |
X-Role | Rôle actuel |
X-Authenticator | Méthode d'authentification de l'utilisateur actuel |
💡 Conseil
Ces en-têtes de requête sont généralement injectés automatiquement par les intercepteurs et n'ont pas besoin d'être définis manuellement. Vous ne devrez les ajouter manuellement que dans des scénarios spécifiques (comme les environnements de test ou les configurations multi-instances).
Dans les composants React, vous pouvez obtenir l'objet de contexte via useFlowContext() et ensuite appeler ctx.api pour envoyer des requêtes.
En développement, vous pouvez utiliser le Hook useRequest fourni par ahooks pour gérer plus facilement le cycle de vie et l'état de vos requêtes.
Cette approche rend la logique de requête plus déclarative, gérant automatiquement les états de chargement, la gestion des erreurs et la logique de rafraîchissement. Elle est donc parfaitement adaptée à une utilisation dans les composants.