JetClient é um plugin cliente API simples e poderoso para IDEs JetBrains (IntelliJ IDEA, GoLand, PyCharm, PhpStorm, etc.). Ele combina os melhores recursos dos clientes API existentes com melhorias adicionais, tudo dentro do seu IDE. Os principais recursos incluem:
Sincronização de arquivos (Git Sync) : armazena solicitações e pastas em um formato legível em seu sistema de arquivos, permitindo fácil compartilhamento e colaboração com sua equipe via Git.
Grupos de ambiente : crie grupos de ambiente para selecionar vários ambientes de uma vez. Por exemplo, um grupo para (dev, test, prod) e outro para (user, admin).
Gerenciamento conveniente de variáveis : as variáveis são definidas no formato JSON5 e organizadas em dois editores: compartilhado (sincronizado) e local (não sincronizado). As variáveis podem incluir não apenas tipos primitivos, mas também objetos e arrays.
Scripting poderoso : escreva scripts de pré-solicitação e teste para solicitações e pastas. Além disso, crie scripts de conjunto de testes que possam reutilizar solicitações existentes, eliminando a necessidade de duplicá-las.
Integração com código-fonte e OpenAPI : importe APIs diretamente do seu código-fonte e navegue sem esforço entre as solicitações e o código correspondente e vice-versa.
Suporte GraphQL : Integra-se perfeitamente com o plugin GraphQL da JetBrains para realce de sintaxe e conclusão de código.
Assista ao vídeo do plugin JetClient para saber mais sobre os recursos do plugin.
Projeto
Sincronização de arquivos (Git Sync)
Ambientes
Variáveis
Roteiros
Biscoitos
Procurador
http/2
Importar
Contribuição
Privacidade
Um Projeto é uma coleção raiz que consiste em pastas e solicitações. Inclui suas próprias configurações, ambientes, variáveis e um script de inicialização. Os projetos no JetClient são independentes do projeto IDE, você pode ter vários projetos JetClient em um único projeto IDE.
O File Sync (Git Sync) permite salvar e restaurar suas coleções de solicitações no sistema de arquivos local. Isso permite fácil compartilhamento de coleções com sua equipe via Git ou qualquer outro sistema de controle de versão (VCS).
Habilitar sincronização: ative a sincronização ao criar um novo projeto JetClient ou nas configurações do projeto.
Definir caminho de sincronização: Especifique o caminho do diretório onde os arquivos de sincronização serão armazenados.
Salvar ou Restaurar: Clique com o botão direito na raiz do projeto ou em uma solicitação/pasta específica e escolha Save All
ou Save
para salvar. Para restaurar ou visualizar diferenças, selecione as opções correspondentes no mesmo menu de contexto.
Para excluir uma pasta específica da sincronização, desative a sincronização em suas propriedades. Esta alteração também se aplicará a todas as pastas aninhadas.
Os ambientes permitem o uso de diferentes conjuntos de variáveis para vários contextos. Eles são organizados em Grupos de Ambiente e você pode selecionar vários ambientes simultaneamente, um de cada grupo.
Um grupo de ambiente Default
está sempre disponível, normalmente incluindo ambientes como Local
, Staging
e Production
. Você também pode criar seus próprios grupos de ambiente, como User
, Client
, Region
, API Version
e outros.
Os ambientes são definidos por projeto e podem ser criados na aba Environments
. As variáveis para esses ambientes são definidas na guia Variables
.
Variáveis no JetClient podem ser definidas em diferentes níveis: projeto, pasta e tempo de execução.
Variáveis de tempo de execução: definidas em scripts e disponíveis apenas durante a execução do script.
Variáveis de Projeto e Pasta: Definidas na aba Variables
do projeto ou pasta, utilizando o formato JSON5.
O editor de variáveis é dividido em duas seções: Compartilhada e Local .
As variáveis compartilhadas são salvas no arquivo de sincronização do projeto/pasta e podem ser compartilhadas com sua equipe.
As variáveis locais são armazenadas com segurança no seu sistema e não são incluídas no arquivo de sincronização.
As variáveis do projeto incluem variáveis específicas do ambiente e globals
, que são acessíveis independentemente do ambiente selecionado. Eles são organizados em um objeto JSON com o ambiente como uma propriedade de nível superior:
{ globais: {baseUrl: 'https://api.example.com' }, local: {token: 'localToken' }, dev: {token: 'devToken' }}
As variáveis de pasta podem incluir variáveis gerais e variáveis específicas do ambiente. As variáveis gerais são acessíveis independentemente do ambiente selecionado, enquanto as variáveis específicas do ambiente só estão disponíveis quando o ambiente correspondente é selecionado:
{ minhaFolderVar: 'meuValor', dev: {minhaVarFolder: 'devValue' }}
Variáveis no JetClient podem ser tipos primitivos, objetos e matrizes e podem ser usadas em scripts, solicitações e pastas. Para utilizar uma variável em qualquer campo, coloque-a entre chaves duplas: {{myVar}}
. Você pode fazer referência a objetos ou matrizes inteiras, por exemplo, no corpo de uma solicitação, usando {{myRequestBody}}
.
As variáveis também podem fazer referência a outras variáveis, conforme mostrado no exemplo abaixo:
{ matriz: [{minhaPropriedade: 123} ], // Esta variável resolve a string "123" minhaVar: '{{array[0].minhaPropriedade}}', // Esta variável resolve para o número 123 minhaVar2: {{array[0].minhaPropriedade}}}
As variáveis são resolvidas na seguinte ordem, da prioridade mais alta para a mais baixa:
Variáveis de tempo de execução
Variáveis de pasta local específicas do ambiente
Variáveis de pasta compartilhada específicas do ambiente
Variáveis de pasta local
Variáveis de pasta compartilhada
Variáveis de todas as pastas pai
Variáveis de ambiente
Globais
Solicitações e pastas no JetClient podem ter scripts de pré-solicitação e teste escritos em JavaScript, enquanto os conjuntos de testes contêm apenas scripts de teste . O projeto inclui um script de inicialização executado uma vez por execução, que pode ser usado para definir funções e variáveis globais. Por exemplo:
CryptoJS = require("crypto-js");hmacSHA256 = (mensagem) => {return CryptoJS.HmacSHA256(mensagem, jc.environment.get('secret')).toString();}
Você pode então usar CryptoJS
e hmacSHA256
em seus scripts de pré-solicitação e teste.
Os scripts são executados na seguinte ordem quando você envia uma solicitação ou executa uma pasta com o executor:
Script de inicialização do projeto (executado uma vez por execução)
Pré-solicite scripts de todas as pastas pai (da raiz até a pasta atual)
Script de pré-solicitação da solicitação
Teste scripts de todas as pastas pai (da raiz até a pasta atual)
Script de teste da solicitação
As etapas 2 a 5 são repetidas para cada solicitação na execução.
Para suítes de testes, os scripts são executados nesta ordem:
Script de inicialização do projeto
Script de teste do conjunto de testes
Os scripts de jc.runRequest
, jc.runFolder
ou jc.runTestSuite
seguem a mesma ordem de execução das solicitações, pastas e conjuntos de testes.
A biblioteca integrada do JetClient é semelhante à do Postman, mas em vez de pm
é chamada jc
. Por exemplo,
jc.test("O código de status é 200", () => {jc.expect(jc.response.code).to.eql(200)})
Os scripts JetClient podem utilizar o BDD da Chai Assertion Library. Para obter mais detalhes, consulte a documentação da Biblioteca JetClient. Além disso, consulte Tipos de biblioteca JetClient para definições de tipo.
JetClient inclui bibliotecas integradas como ajv
, atob
, btoa
, chai
, cheerio
, crypto-js
, csv-parse/lib/sync
, lodash
, moment
, tv4
, uuid
e xml2js
, que você pode importar usando a função require
. Além disso, você pode adicionar suas próprias bibliotecas aos scripts. Navegue até Settings > Tools > JetClient
e defina o Libraries directory
. Se você estiver usando bibliotecas npm, especifique o diretório que contém package.json
e node_modules
. Caso contrário, use o diretório onde suas bibliotecas de scripts estão localizadas. Você pode então usar require para importar suas bibliotecas.
Gerencie cookies usando o Cookies Manager
. Para abri-lo, clique em Cookies Manager
na barra de ferramentas da janela de ferramentas.
Os proxies são suportados usando as configurações de proxy do IDE.
Para enviar uma solicitação usando o protocolo HTTP/2
, selecione a opção HTTP/2
em Settings > Tools > JetClient > HTTP Version
.
JetClient oferece suporte à importação de coleções de várias fontes:
Projeto JetClient
Primavera
JAX-RS
Reforma
OpenAPI (Swagger)
curvatura
Carteiro
Para importar uma solicitação cURL, basta copiar o comando cURL e colá-lo no campo URL de uma solicitação.
Se você quiser melhorar a documentação, envie um PR.
Sugestões para melhorar ainda mais o produto.
Somente offline: JetClient é um plugin somente offline e não coleta nenhum dado.
Armazenamento seguro: variáveis locais, cookies e tokens OAuth2 são armazenados com segurança em seu sistema. Isso inclui o uso de KeePass no Windows, Keychain no macOS e libsecret no Linux.
Sem sincronização na nuvem: não há back-end ou sincronização na nuvem. Os dados confidenciais são armazenados com segurança em seu sistema. Outros dados são salvos no diretório .idea/JetClient
do seu projeto e nos arquivos de sincronização do JetClient se a sincronização estiver habilitada.