JetClient ist ein einfaches und leistungsstarkes API-Client-Plugin für JetBrains-IDEs (IntelliJ IDEA, GoLand, PyCharm, PhpStorm usw.). Es kombiniert die besten Funktionen bestehender API-Clients mit zusätzlichen Verbesserungen, alles innerhalb Ihrer IDE. Zu den Hauptmerkmalen gehören:
Dateisynchronisierung (Git Sync) : Speichert Anfragen und Ordner in einem für Menschen lesbaren Format in Ihrem Dateisystem und ermöglicht so eine einfache Freigabe und Zusammenarbeit mit Ihrem Team über Git.
Umgebungsgruppen : Erstellen Sie Umgebungsgruppen, um mehrere Umgebungen gleichzeitig auszuwählen. Beispielsweise eine Gruppe für (dev, test, prod) und eine andere für (user, admin).
Bequeme Variablenverwaltung : Variablen werden im JSON5-Format definiert und in zwei Editoren organisiert: gemeinsam genutzt (synchronisiert) und lokal (nicht synchronisiert). Variablen können nicht nur primitive Typen, sondern auch Objekte und Arrays umfassen.
Leistungsstarkes Scripting : Schreiben Sie Pre-Request- und Test-Scripts für Requests und Ordner. Erstellen Sie außerdem Testsuite-Skripte, die vorhandene Anforderungen wiederverwenden können, sodass keine Duplizierung erforderlich ist.
Integration mit Quellcode und OpenAPI : Importieren Sie APIs direkt aus Ihrem Quellcode und navigieren Sie mühelos zwischen Anfragen und dem entsprechenden Code und umgekehrt.
GraphQL-Unterstützung : Nahtlose Integration mit dem GraphQL-Plugin von JetBrains für Syntaxhervorhebung und Codevervollständigung.
Sehen Sie sich das JetClient-Plugin-Video an, um mehr über die Plugin-Funktionen zu erfahren.
Projekt
Dateisynchronisierung (Git Sync)
Umgebungen
Variablen
Skripte
Kekse
Stellvertreter
Http/2
Import
Beitrag
Privatsphäre
Ein Projekt ist eine Stammsammlung bestehend aus Ordnern und Anforderungen. Es enthält eigene Einstellungen, Umgebungen, Variablen und ein Init-Skript. Projekte in JetClient sind unabhängig vom IDE-Projekt. Sie können mehrere JetClient-Projekte in einem einzigen IDE-Projekt haben.
File Sync (Git Sync) ermöglicht das Speichern und Wiederherstellen Ihrer Anforderungssammlungen im lokalen Dateisystem. Dies ermöglicht die einfache gemeinsame Nutzung von Sammlungen mit Ihrem Team über Git oder ein anderes Versionskontrollsystem (VCS).
Synchronisierung aktivieren: Aktivieren Sie die Synchronisierung beim Erstellen eines neuen JetClient-Projekts oder in den Projekteinstellungen.
Synchronisierungspfad festlegen: Geben Sie den Verzeichnispfad an, in dem die Synchronisierungsdateien gespeichert werden.
Speichern oder Wiederherstellen: Klicken Sie mit der rechten Maustaste auf das Projektstammverzeichnis oder eine bestimmte Anfrage/einen bestimmten Ordner und wählen Sie zum Save All
“ oder „ Save
“. Um Unterschiede wiederherzustellen oder anzuzeigen, wählen Sie die entsprechenden Optionen aus demselben Kontextmenü aus.
Um einen bestimmten Ordner von der Synchronisierung auszuschließen, deaktivieren Sie die Synchronisierung in seinen Eigenschaften. Diese Änderung gilt auch für alle verschachtelten Ordner.
Umgebungen ermöglichen die Verwendung verschiedener Variablensätze für verschiedene Kontexte. Diese sind in Umgebungsgruppen organisiert und Sie können mehrere Umgebungen gleichzeitig auswählen, eine aus jeder Gruppe.
Eine Default
ist immer verfügbar und umfasst normalerweise Umgebungen wie Local
, Staging
und Production
. Sie können auch Ihre eigenen Umgebungsgruppen erstellen, z. B. User
, Client
, Region
, API Version
und andere.
Umgebungen werden pro Projekt definiert und können auf der Registerkarte Environments
erstellt werden. Variablen für diese Umgebungen werden auf der Registerkarte Variables
festgelegt.
Variablen in JetClient können auf verschiedenen Ebenen definiert werden: Projekt, Ordner und Laufzeit.
Laufzeitvariablen: In Skripten definiert und nur während der Skriptausführung verfügbar.
Projekt- und Ordnervariablen: Definiert auf der Registerkarte Variables
des Projekts oder Ordners im JSON5-Format.
Der Variableneditor ist in zwei Abschnitte unterteilt: Shared und Local .
Gemeinsam genutzte Variablen werden in der Projekt-/Ordner-Synchronisierungsdatei gespeichert und können mit Ihrem Team geteilt werden.
Lokale Variablen werden sicher auf Ihrem System gespeichert und sind nicht in der Synchronisierungsdatei enthalten.
Zu den Projektvariablen gehören umgebungsspezifische Variablen und globals
, auf die unabhängig von der ausgewählten Umgebung zugegriffen werden kann. Sie sind in einem JSON-Objekt organisiert, wobei die Umgebung eine Eigenschaft der obersten Ebene ist:
{ Globals: {baseUrl: 'https://api.example.com' }, local: {token: 'localToken' }, dev: {token: 'devToken' }}
Ordnervariablen können sowohl allgemeine Variablen als auch umgebungsspezifische Variablen umfassen. Auf allgemeine Variablen kann unabhängig von der ausgewählten Umgebung zugegriffen werden, während umgebungsspezifische Variablen nur verfügbar sind, wenn die entsprechende Umgebung ausgewählt ist:
{ myFolderVar: 'myValue', dev: {myFolderVar: 'devValue' }}
Variablen in JetClient können primitive Typen, Objekte und Arrays sein und können in Skripten, Anforderungen und Ordnern verwendet werden. Um eine Variable in einem beliebigen Feld zu verwenden, schließen Sie sie in doppelte geschweifte Klammern ein: {{myVar}}
. Mit {{myRequestBody}}
können Sie ganze Objekte oder Arrays referenzieren, beispielsweise im Hauptteil einer Anfrage.
Variablen können auch auf andere Variablen verweisen, wie im folgenden Beispiel gezeigt:
{ Array: [{ myProperty: 123} ], // Diese Variable wird in die Zeichenfolge „123“ aufgelöst. myVar: '{{array[0].myProperty}}', // Diese Variable wird in Nummer 123 aufgelöst myVar2: {{array[0].myProperty}}}
Variablen werden in der folgenden Reihenfolge aufgelöst, von der höchsten zur niedrigsten Priorität:
Laufzeitvariablen
Umgebungsspezifische lokale Ordnervariablen
Umgebungsspezifische Variablen für freigegebene Ordner
Lokale Ordnervariablen
Variablen für freigegebene Ordner
Variablen aus allen übergeordneten Ordnern
Umgebungsvariablen
Globals
Anfragen und Ordner in JetClient können in JavaScript geschriebene Vorabanfrage- und Testskripte enthalten, während Testsuiten nur Testskripte enthalten. Das Projekt beinhaltet ein einmal pro Lauf ausgeführtes Init-Skript , mit dem globale Funktionen und Variablen definiert werden können. Zum Beispiel:
CryptoJS = require("crypto-js");hmacSHA256 = (message) => {return CryptoJS.HmacSHA256(message, jc.environment.get('secret')).toString();}
Anschließend können Sie CryptoJS
und hmacSHA256
in Ihren Pre-Request- und Testskripten verwenden.
Skripte werden in der folgenden Reihenfolge ausgeführt, wenn Sie eine Anfrage senden oder einen Ordner mit dem Runner ausführen:
Init-Skript des Projekts (wird einmal pro Lauf ausgeführt)
Voranforderungsskripte aller übergeordneten Ordner (vom Stammverzeichnis bis zum aktuellen Ordner)
Pre-Request-Skript der Anfrage
Testskripte aller übergeordneten Ordner (vom Stammverzeichnis bis zum aktuellen Ordner)
Testskript der Anfrage
Die Schritte 2–5 werden für jede Anforderung im Lauf wiederholt.
Für Testsuiten werden Skripte in dieser Reihenfolge ausgeführt:
Init-Skript des Projekts
Testskript der Testsuite
Skripte von jc.runRequest
, jc.runFolder
oder jc.runTestSuite
folgen derselben Ausführungsreihenfolge wie für Anfragen, Ordner und Testsuiten.
Die in JetClient integrierte Bibliothek ähnelt der von Postman, heißt jedoch anstelle von pm
jc
. Zum Beispiel,
jc.test("Statuscode ist 200", () => {jc.expect(jc.response.code).to.eql(200)})
JetClient-Skripte können die Chai Assertion Library BDD nutzen. Weitere Einzelheiten finden Sie in der Dokumentation zur JetClient-Bibliothek. Typdefinitionen finden Sie auch unter JetClient-Bibliothekstypen.
JetClient enthält integrierte Bibliotheken wie ajv
, atob
, btoa
, chai
, cheerio
, crypto-js
, csv-parse/lib/sync
, lodash
, moment
, tv4
, uuid
und xml2js
, die Sie mit der Funktion require
importieren können. Darüber hinaus können Sie den Skripten eigene Bibliotheken hinzufügen. Navigieren Sie zu Settings > Tools > JetClient
und legen Sie das Libraries directory
fest. Wenn Sie npm-Bibliotheken verwenden, geben Sie das Verzeichnis an, das Ihre package.json
und node_modules
enthält. Andernfalls verwenden Sie das Verzeichnis, in dem sich Ihre Skriptbibliotheken befinden. Anschließend können Sie require verwenden, um Ihre Bibliotheken zu importieren.
Verwalten Sie Cookies mit dem Cookies Manager
. Um es zu öffnen, klicken Sie in der Symbolleiste des Toolfensters auf Cookies Manager
.
Proxys werden über die IDE-Proxy-Einstellungen unterstützt.
Um eine Anfrage über das HTTP/2
-Protokoll zu senden, wählen Sie bitte die Option HTTP/2
unter Settings > Tools > JetClient > HTTP Version
aus.
JetClient unterstützt den Import von Sammlungen aus verschiedenen Quellen:
JetClient-Projekt
Frühling
JAX-RS
Nachrüstung
OpenAPI (Swagger)
cURL
Briefträger
Um eine cURL-Anfrage zu importieren, kopieren Sie einfach den cURL-Befehl und fügen Sie ihn in das URL-Feld einer Anfrage ein.
Wenn Sie die Dokumentation verbessern möchten, reichen Sie bitte eine PR ein.
Vorschläge zur weiteren Verbesserung des Produkts.
Nur offline: JetClient ist ein reines Offline-Plugin und sammelt keine Daten.
Sichere Speicherung: Lokale Variablen, Cookies und OAuth2-Tokens werden sicher auf Ihrem System gespeichert. Dazu gehört die Verwendung von KeePass unter Windows, Keychain unter macOS und libsecret unter Linux.
Keine Cloud-Synchronisierung: Es gibt keine Backend- oder Cloud-Synchronisierung. Sensible Daten werden sicher auf Ihrem System gespeichert. Andere Daten werden im Verzeichnis .idea/JetClient
Ihres Projekts und in JetClient-Synchronisierungsdateien gespeichert, wenn die Synchronisierung aktiviert ist.