JetClient 是一个简单而强大的 API 客户端插件,适用于 JetBrains IDE(IntelliJ IDEA、GoLand、PyCharm、PhpStorm 等)。它将现有 API 客户端的最佳功能与其他增强功能相结合,所有这些都在您的 IDE 中进行。主要特点包括:
文件同步 (Git Sync) :以人类可读的格式在文件系统上存储请求和文件夹,从而可以通过 Git 与您的团队轻松共享和协作。
环境组:创建环境组以一次选择多个环境。例如,一组用于(开发、测试、生产),另一组用于(用户、管理员)。
方便的变量管理:变量以 JSON5 格式定义,并组织成两个编辑器:共享(同步)和本地(非同步)。变量不仅可以包括基本类型,还可以包括对象和数组。
强大的脚本编写:为请求和文件夹编写预请求和测试脚本。此外,创建可以重用现有请求的测试套件脚本,从而无需重复它们。
与源代码和 OpenAPI 集成:直接从源代码导入 API,轻松在请求和相应代码之间导航,反之亦然。
GraphQL 支持:与 JetBrains 的 GraphQL 插件无缝集成,以实现语法突出显示和代码完成。
观看 JetClient 插件视频以了解插件功能。
项目
文件同步(Git 同步)
环境
变量
脚本
曲奇饼
代理人
http/2
进口
贡献
隐私
项目是由文件夹和请求组成的根集合。它包括自己的设置、环境、变量和初始化脚本。 JetClient 中的项目独立于 IDE 项目,您可以在单个 IDE 项目中拥有多个 JetClient 项目。
文件同步 (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' }, 开发者:{令牌:'devToken' }}
文件夹变量可以包括通用变量和特定于环境的变量。无论选择什么环境,通用变量都可以访问,而特定于环境的变量仅在选择相应环境时才可用:
{ myFolderVar: 'myValue', 开发人员:{myFolderVar:'devValue' }}
JetClient 中的变量可以是原始类型、对象和数组,并且可在脚本、请求和文件夹中使用。要在任何字段中使用变量,请将其括在双花括号中: {{myVar}}
。您可以使用{{myRequestBody}}
引用整个对象或数组,例如在请求正文中。
变量还可以引用其他变量,如下例所示:
{ 数组:[{ myProperty:123} ], // 该变量解析为字符串“123” myVar: '{{array[0].myProperty}}', // 该变量解析为数字 123 myVar2: {{array[0].myProperty}}}
变量按以下顺序解析,从最高优先级到最低优先级:
运行时变量
环境特定的本地文件夹变量
环境特定的共享文件夹变量
本地文件夹变量
共享文件夹变量
所有父文件夹中的变量
环境变量
全局变量
JetClient 中的请求和文件夹可以包含用 JavaScript 编写的预请求和测试脚本,而测试套件仅包含测试脚本。该项目包括每次运行执行一次的初始化脚本,可用于定义全局函数和变量。例如:
CryptoJS = require("crypto-js");hmacSHA256 = (message) => {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 脚本可以利用 Chai 断言库 BDD。有关更多详细信息,请参阅 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 导入您的库。
使用Cookies Manager
管理 cookie。要打开它,请单击工具窗口工具栏中的Cookies Manager
。
使用 IDE 代理设置支持代理。
要使用HTTP/2
协议发送请求,请在Settings > Tools > JetClient > HTTP Version
中选择HTTP/2
选项。
JetClient 支持从各种来源导入集合:
JetClient项目
春天
JAX-RS
改造
OpenAPI(招摇)
卷曲
邮差
要导入 cURL 请求,只需复制 cURL 命令并将其粘贴到请求的 URL 字段中即可。
如果您想改进文档,请提交 PR。
进一步改进产品的建议。
仅离线: JetClient 是仅离线插件,不收集任何数据。
安全存储:本地变量、cookie 和 OAuth2 令牌安全地存储在您的系统上。这包括在 Windows 上使用 KeePass、在 macOS 上使用 Keychain 以及在 Linux 上使用 libsecret。
无云同步:没有后端或云同步。敏感数据安全地存储在您的系统上。其他数据保存在项目的.idea/JetClient
目录中,如果启用了同步,则保存在 JetClient 同步文件中。