JetClient est un plugin client API simple et puissant pour les IDE JetBrains (IntelliJ IDEA, GoLand, PyCharm, PhpStorm, etc.). Il combine les meilleures fonctionnalités des clients API existants avec des améliorations supplémentaires, le tout au sein de votre IDE. Les principales fonctionnalités incluent :
File Sync (Git Sync) : stocke les requêtes et les dossiers dans un format lisible par l'homme sur votre système de fichiers, permettant un partage et une collaboration faciles avec votre équipe via Git.
Groupes d'environnements : créez des groupes d'environnements pour sélectionner plusieurs environnements à la fois. Par exemple, un groupe pour (dev, test, prod) et un autre pour (user, admin).
Gestion pratique des variables : les variables sont définies au format JSON5 et organisées en deux éditeurs : partagé (synchronisé) et local (non synchronisé). Les variables peuvent inclure non seulement des types primitifs mais également des objets et des tableaux.
Scripts puissants : écrivez des scripts de pré-requête et de test pour les requêtes et les dossiers. De plus, créez des scripts de suite de tests capables de réutiliser les requêtes existantes, éliminant ainsi le besoin de les dupliquer.
Intégration avec le code source et OpenAPI : importez des API directement depuis votre code source et naviguez sans effort entre les requêtes et le code correspondant, et vice versa.
Prise en charge de GraphQL : s'intègre parfaitement au plugin GraphQL de JetBrains pour la coloration syntaxique et la complétion du code.
Regardez la vidéo du plugin JetClient pour en savoir plus sur les fonctionnalités du plugin.
Projet
Synchronisation de fichiers (Git Sync)
Environnements
Variables
Scripts
Cookies
Procuration
Http/2
Importer
Contribution
Confidentialité
Un projet est une collection racine composée de dossiers et de requêtes. Il comprend ses propres paramètres, environnements, variables et un script d'initialisation. Les projets dans JetClient sont indépendants du projet IDE, vous pouvez avoir plusieurs projets JetClient au sein d'un seul projet IDE.
File Sync (Git Sync) permet d'enregistrer et de restaurer vos collections de requêtes sur le système de fichiers local. Cela permet un partage facile des collections avec votre équipe via Git ou tout autre système de contrôle de version (VCS).
Activer la synchronisation : activez la synchronisation lors de la création d'un nouveau projet JetClient ou dans les paramètres du projet.
Définir le chemin de synchronisation : spécifiez le chemin du répertoire dans lequel les fichiers de synchronisation seront stockés.
Enregistrer ou restaurer : cliquez avec le bouton droit sur la racine du projet ou sur une demande/un dossier spécifique, puis choisissez Save All
ou Save
pour enregistrer. Pour restaurer ou afficher les différences, sélectionnez les options correspondantes dans le même menu contextuel.
Pour exclure un dossier spécifique de la synchronisation, désactivez la synchronisation dans ses propriétés. Cette modification s'appliquera également à tous les dossiers imbriqués.
Les environnements permettent d'utiliser différents ensembles de variables pour différents contextes. Ceux-ci sont organisés en groupes d'environnements et vous pouvez sélectionner plusieurs environnements simultanément, un dans chaque groupe.
Un groupe d'environnements Default
est toujours disponible, comprenant généralement des environnements tels que Local
, Staging
et Production
. Vous pouvez également créer vos propres groupes d'environnement, tels que User
, Client
, Region
, API Version
et autres.
Les environnements sont définis par projet et peuvent être créés dans l'onglet Environments
. Les variables de ces environnements sont définies dans l'onglet Variables
.
Les variables dans JetClient peuvent être définies à différents niveaux : projet, dossier et runtime.
Variables d'exécution : définies dans les scripts et disponibles uniquement pendant l'exécution du script.
Variables de projet et de dossier : définies dans l'onglet Variables
du projet ou du dossier, en utilisant le format JSON5.
L'éditeur de variables est divisé en deux sections : Partagée et Locale .
Les variables partagées sont enregistrées dans le fichier de synchronisation projet/dossier et peuvent être partagées avec votre équipe.
Les variables locales sont stockées en toute sécurité sur votre système et ne sont pas incluses dans le fichier de synchronisation.
Les variables du projet incluent des variables spécifiques à l'environnement et des globals
, qui sont accessibles quel que soit l'environnement sélectionné. Ils sont organisés au sein d'un objet JSON avec l'environnement comme propriété de premier niveau :
{ variables globales : {baseUrl : 'https://api.example.com' }, local : {jeton : 'localToken' }, dev : {jeton : 'devToken' }}
Les variables de dossier peuvent inclure à la fois des variables générales et des variables spécifiques à l'environnement. Les variables générales sont accessibles quel que soit l'environnement sélectionné, tandis que les variables spécifiques à l'environnement ne sont disponibles que lorsque l'environnement correspondant est sélectionné :
{ maVarDossier : 'maValeur', dev : {myFolderVar : 'devValue' }}
Les variables dans JetClient peuvent être des types primitifs, des objets et des tableaux, et sont utilisables dans des scripts, des requêtes et des dossiers. Pour utiliser une variable dans n'importe quel champ, placez-la entre doubles accolades : {{myVar}}
. Vous pouvez référencer des objets ou des tableaux entiers, par exemple dans le corps d'une requête, en utilisant {{myRequestBody}}
.
Les variables peuvent également référencer d'autres variables, comme le montre l'exemple ci-dessous :
{ tableau : [{ maPropriété : 123} ], // Cette variable se résout en chaîne "123" maVar : '{{array[0].myProperty}}', // Cette variable se résout au numéro 123 maVar2 : {{array[0].myProperty}}}
Les variables sont résolues dans l'ordre suivant, de la priorité la plus élevée à la plus basse :
Variables d'exécution
Variables de dossier local spécifiques à l'environnement
Variables de dossier partagé spécifiques à l'environnement
Variables de dossier local
Variables de dossier partagé
Variables de tous les dossiers parents
Variables d'environnement
Mondiales
Les requêtes et les dossiers dans JetClient peuvent avoir des scripts de pré-requête et de test écrits en JavaScript, tandis que les suites de tests ne contiennent que des scripts de test . Le projet comprend un script d'initialisation exécuté une fois par exécution, qui peut être utilisé pour définir des fonctions et des variables globales. Par exemple:
CryptoJS = require("crypto-js");hmacSHA256 = (message) => {return CryptoJS.HmacSHA256(message, jc.environment.get('secret')).toString();}
Vous pouvez ensuite utiliser CryptoJS
et hmacSHA256
dans vos scripts de pré-demande et de test.
Les scripts sont exécutés dans l'ordre suivant lorsque vous envoyez une requête ou exécutez un dossier avec le coureur :
Script d'initialisation du projet (exécuté une fois par exécution)
Scripts de pré-demande de tous les dossiers parents (de la racine au dossier actuel)
Script de pré-demande de la requête
Testez les scripts de tous les dossiers parents (de la racine au dossier actuel)
Script de test de la requête
Les étapes 2 à 5 sont répétées pour chaque requête de l'exécution.
Pour les suites de tests, les scripts s'exécutent dans cet ordre :
Script d'initialisation du projet
Script de test de la suite de tests
Les scripts de jc.runRequest
, jc.runFolder
ou jc.runTestSuite
suivent le même ordre d'exécution que pour les requêtes, les dossiers et les suites de tests.
La bibliothèque intégrée de JetClient est similaire à celle de Postman mais au lieu de pm
elle s'appelle jc
. Par exemple,
jc.test("Le code d'état est 200", () => {jc.expect(jc.response.code).to.eql(200)})
Les scripts JetClient peuvent utiliser le BDD de la bibliothèque d'assertions Chai. Pour plus de détails, consultez la documentation de la bibliothèque JetClient. Consultez également Types de bibliothèque JetClient pour les définitions de types.
JetClient comprend des bibliothèques intégrées telles que ajv
, atob
, btoa
, chai
, cheerio
, crypto-js
, csv-parse/lib/sync
, lodash
, moment
, tv4
, uuid
et xml2js
, que vous pouvez importer à l'aide de la fonction require
. De plus, vous pouvez ajouter vos propres bibliothèques aux scripts. Accédez à Settings > Tools > JetClient
et définissez le Libraries directory
. Si vous utilisez des bibliothèques npm, spécifiez le répertoire contenant votre package.json
et node_modules
. Sinon, utilisez le répertoire où se trouvent vos bibliothèques de scripts. Vous pouvez ensuite utiliser require pour importer vos bibliothèques.
Gérez les cookies à l'aide du Cookies Manager
. Pour l'ouvrir, cliquez sur Cookies Manager
dans la barre d'outils de la fenêtre outil.
Les proxys sont pris en charge à l'aide des paramètres de proxy IDE.
Pour envoyer une demande à l'aide du protocole HTTP/2
, veuillez sélectionner l'option HTTP/2
dans Settings > Tools > JetClient > HTTP Version
.
JetClient prend en charge l'importation de collections à partir de diverses sources :
Projet JetClient
Printemps
JAX-RS
Rénovation
OpenAPI (Swagger)
boucle
Facteur
Pour importer une requête cURL, copiez simplement la commande cURL et collez-la dans le champ URL d'une requête.
Si vous souhaitez améliorer la documentation, veuillez soumettre un PR.
Suggestions pour améliorer encore le produit.
Hors ligne uniquement : JetClient est un plugin uniquement hors ligne et ne collecte aucune donnée.
Stockage sécurisé : les variables locales, les cookies et les jetons OAuth2 sont stockés en toute sécurité sur votre système. Cela inclut l'utilisation de KeePass sous Windows, du trousseau sous macOS et de libsecret sous Linux.
Pas de synchronisation cloud : il n'y a pas de synchronisation backend ou cloud. Les données sensibles sont stockées en toute sécurité sur votre système. Les autres données sont enregistrées dans le répertoire .idea/JetClient
de votre projet et dans les fichiers de synchronisation JetClient si la synchronisation est activée.