JetClient — это простой и мощный клиентский плагин API для IDE JetBrains (IntelliJ IDEA, GoLand, PyCharm, PhpStorm и т. д.). Он сочетает в себе лучшие функции существующих клиентов API с дополнительными улучшениями в вашей IDE. Ключевые особенности включают в себя:
Синхронизация файлов (Git Sync) . Сохраняет запросы и папки в удобочитаемом формате в вашей файловой системе, что позволяет легко делиться ими и сотрудничать с вашей командой через Git.
Группы сред : создавайте группы сред для одновременного выбора нескольких сред. Например, одна группа для (разработчик, тест, продукт), а другая — для (пользователь, администратор).
Удобное управление переменными : переменные определяются в формате JSON5 и организованы в два редактора: общий (синхронизированный) и локальный (несинхронизированный). Переменные могут включать не только примитивные типы, но также объекты и массивы.
Мощные сценарии : написание сценариев предварительного запроса и тестирования для запросов и папок. Кроме того, создавайте сценарии набора тестов, которые смогут повторно использовать существующие запросы, устраняя необходимость их дублирования.
Интеграция с исходным кодом и OpenAPI . Импортируйте API непосредственно из исходного кода и легко перемещайтесь между запросами и соответствующим кодом и наоборот.
Поддержка GraphQL : легко интегрируется с плагином GraphQL от JetBrains для подсветки синтаксиса и завершения кода.
Посмотрите видео о плагине JetClient, чтобы узнать о его функциях.
Проект
Синхронизация файлов (Git Sync)
Окружающая среда
Переменные
Скрипты
Файлы cookie
Прокси
HTTP/2
Импорт
Вклад
Конфиденциальность
Проект — это корневая коллекция, состоящая из папок и запросов. Он включает в себя собственные настройки, среды, переменные и сценарий инициализации. Проекты в JetClient не зависят от проекта IDE. Вы можете иметь несколько проектов JetClient в одном проекте IDE.
Синхронизация файлов (Git Sync) позволяет сохранять и восстанавливать коллекции запросов в локальной файловой системе. Это позволяет легко обмениваться коллекциями с вашей командой через Git или любую другую систему контроля версий (VCS).
Включить синхронизацию: включите синхронизацию при создании нового проекта JetClient или в настройках проекта.
Установить путь синхронизации: укажите путь к каталогу, в котором будут храниться файлы синхронизации.
Сохранить или восстановить: щелкните правой кнопкой мыши корень проекта или конкретный запрос/папку и выберите Save All
или Save
, чтобы сохранить. Чтобы восстановить или просмотреть различия, выберите соответствующие параметры в том же контекстном меню.
Чтобы исключить из синхронизации конкретную папку, отключите синхронизацию в ее свойствах. Это изменение также будет применяться ко всем вложенным папкам.
Среды позволяют использовать разные наборы переменных для разных контекстов. Они организованы в группы сред , и вы можете выбрать несколько сред одновременно, по одному из каждой группы.
Группа сред Default
всегда доступна и обычно включает такие среды, как Local
, Staging
и Production
. Вы также можете создавать свои собственные группы среды, такие как User
, Client
, Region
, API Version
и другие.
Среды определяются для каждого проекта и могут быть созданы на вкладке Environments
. Переменные для этих сред задаются на вкладке Variables
.
Переменные в JetClient можно определять на разных уровнях: проекта, папки и среды выполнения.
Переменные времени выполнения: определяются в сценариях и доступны только во время выполнения сценария.
Переменные проекта и папки: определяются на вкладке Variables
проекта или папки в формате JSON5.
Редактор переменных разделен на два раздела: Shared и Local .
Общие переменные сохраняются в файле синхронизации проекта/папки, и ими можно поделиться с вашей командой.
Локальные переменные надежно хранятся в вашей системе и не включаются в файл синхронизации.
Переменные проекта включают переменные, специфичные для среды, и globals
, которые доступны независимо от выбранной среды. Они организованы внутри объекта JSON, где среда является свойством верхнего уровня:
{ глобальные переменные: {baseUrl: 'https://api.example.com' }, локальный: {токен: 'localToken' }, dev: {токен: 'devToken' }}
Переменные папки могут включать как общие переменные, так и переменные, зависящие от среды. Общие переменные доступны независимо от выбранной среды, тогда как переменные, специфичные для среды, доступны только при выборе соответствующей среды:
{ myFolderVar: 'myValue', dev: {myFolderVar: 'devValue' }}
Переменные в JetClient могут быть примитивными типами, объектами и массивами и могут использоваться в сценариях, запросах и папках. Чтобы использовать переменную в любом поле, заключите ее в двойные фигурные скобки: {{myVar}}
. Вы можете ссылаться на целые объекты или массивы, например, в теле запроса, используя {{myRequestBody}}
.
Переменные также могут ссылаться на другие переменные, как показано в примере ниже:
{ массив: [{myProperty: 123} ], // Эта переменная преобразуется в строку "123" myVar: '{{array[0].myProperty}}', // Эта переменная принимает номер 123 myVar2: {{array[0].myProperty}}}
Переменные разрешаются в следующем порядке, от высшего к низшему приоритету:
Переменные времени выполнения
Переменные локальной папки, зависящие от среды
Переменные общей папки, зависящие от среды
Переменные локальной папки
Переменные общей папки
Переменные из всех родительских папок
Переменные среды
Глобальные значения
Запросы и папки в JetClient могут содержать сценарии предварительного запроса и тестирования, написанные на JavaScript, тогда как наборы тестов содержат только сценарии тестирования . Проект включает сценарий инициализации, выполняемый один раз за запуск, который можно использовать для определения глобальных функций и переменных. Например:
CryptoJS = require("crypto-js");hmacSHA256 = (сообщение) => {return CryptoJS.HmacSHA256(message, jc.environment.get('secret')).toString();}
Затем вы можете использовать CryptoJS
и hmacSHA256
в сценариях предварительного запроса и тестирования.
Скрипты выполняются в следующем порядке при отправке запроса или запуске папки с помощью бегуна:
Сценарий инициализации проекта (выполняется один раз за запуск)
Предварительный запрос скриптов всех родительских папок (от корня до текущей папки)
Предварительный сценарий запроса
Тестовые скрипты всех родительских папок (от корня до текущей папки)
Тестовый скрипт запроса
Шаги 2–5 повторяются для каждого запроса в выполнении.
Для наборов тестов сценарии выполняются в следующем порядке:
Инициативный скрипт проекта
Тестовый сценарий набора тестов
Скрипты из jc.runRequest
, jc.runFolder
или jc.runTestSuite
следуют тому же порядку выполнения, что и запросы, папки и наборы тестов.
Встроенная библиотека JetClient похожа на библиотеку Postman, но вместо pm
она называется jc
. Например,
jc.test("Код состояния: 200", () => {jc.expect(jc.response.code).to.eql(200)})
Сценарии JetClient могут использовать BDD библиотеки утверждений Chai. Дополнительные сведения см. в документации библиотеки JetClient. Определения типов также см. в разделе Типы библиотек JetClient.
JetClient включает встроенные библиотеки, такие как ajv
, atob
, btoa
, chai
, cheerio
, crypto-js
, csv-parse/lib/sync
, lodash
, moment
, tv4
, uuid
и xml2js
, которые вы можете импортировать с помощью функции require
. Дополнительно к скриптам можно добавлять свои библиотеки. Перейдите в Settings > Tools > JetClient
и установите Libraries directory
. Если вы используете библиотеки npm, укажите каталог, содержащий ваши package.json
и node_modules
. В противном случае используйте каталог, в котором расположены ваши библиотеки сценариев. Затем вы можете использовать require для импорта ваших библиотек.
Управляйте файлами cookie с помощью Cookies Manager
. Чтобы открыть его, нажмите Cookies Manager
на панели инструментов окна инструментов.
Прокси поддерживаются с помощью настроек прокси-сервера IDE.
Чтобы отправить запрос с использованием протокола HTTP/2
, выберите параметр HTTP/2
в Settings > Tools > JetClient > HTTP Version
.
JetClient поддерживает импорт коллекций из различных источников:
Проект ДжетКлиент
Весна
ДЖАКС-РС
Модернизация
OpenAPI (Сваггер)
КУЛЬ
Почтальон
Чтобы импортировать запрос cURL, просто скопируйте команду cURL и вставьте ее в поле URL-адреса запроса.
Если вы хотите улучшить документацию, отправьте запрос на публикацию.
Предложения по дальнейшему улучшению продукта.
Только в автономном режиме: JetClient — это плагин, работающий только в автономном режиме и не собирающий никаких данных.
Безопасное хранение: локальные переменные, файлы cookie и токены OAuth2 надежно хранятся в вашей системе. Сюда входит использование KeePass в Windows, Keychain в macOS и libsecret в Linux.
Нет облачной синхронизации: серверная или облачная синхронизация отсутствует. Конфиденциальные данные надежно хранятся в вашей системе. Другие данные сохраняются в каталоге .idea/JetClient
вашего проекта и в файлах синхронизации JetClient, если синхронизация включена.