JetClient는 JetBrains IDE(IntelliJ IDEA, GoLand, PyCharm, PhpStorm 등)용 간단하고 강력한 API 클라이언트 플러그인입니다. 이는 기존 API 클라이언트의 최고의 기능과 추가 개선 사항을 모두 IDE 내에서 결합합니다. 주요 기능은 다음과 같습니다:
파일 동기화(Git Sync) : 사람이 읽을 수 있는 형식으로 요청과 폴더를 파일 시스템에 저장하여 Git을 통해 팀과 쉽게 공유하고 협업할 수 있습니다.
환경 그룹 : 여러 환경을 한 번에 선택하려면 환경 그룹을 만듭니다. 예를 들어 (dev, test, prod)에 대한 그룹과 (user, admin)에 대한 다른 그룹이 있습니다.
편리한 변수 관리 : 변수는 JSON5 형식으로 정의되며 공유(동기화) 및 로컬(비동기화)의 두 가지 편집기로 구성됩니다. 변수에는 기본 유형뿐만 아니라 객체 및 배열도 포함될 수 있습니다.
강력한 스크립팅 : 요청 및 폴더에 대한 사전 요청 및 테스트 스크립트를 작성합니다. 또한 기존 요청을 재사용할 수 있는 테스트 스위트 스크립트를 생성하여 복제할 필요가 없습니다.
소스 코드 및 OpenAPI와의 통합 : 소스 코드에서 직접 API를 가져오고 요청과 해당 코드 사이를 쉽게 탐색하거나 그 반대로 이동할 수 있습니다.
GraphQL 지원 : 구문 강조 및 코드 완성을 위해 JetBrains의 GraphQL 플러그인과 원활하게 통합됩니다.
플러그인 기능에 대해 알아보려면 JetClient 플러그인 동영상을 시청하세요.
프로젝트
파일 동기화(Git Sync)
환경
변수
스크립트
쿠키
대리
HTTP/2
수입
기부금
은둔
프로젝트 는 폴더와 요청으로 구성된 루트 컬렉션입니다. 여기에는 자체 설정, 환경, 변수 및 초기화 스크립트가 포함됩니다. JetClient의 프로젝트는 IDE 프로젝트와 독립적이므로 단일 IDE 프로젝트 내에 여러 JetClient 프로젝트를 가질 수 있습니다.
파일 동기화(Git Sync)를 사용하면 요청 컬렉션을 로컬 파일 시스템에 저장하고 복원할 수 있습니다. 이를 통해 Git 또는 기타 버전 제어 시스템(VCS)을 통해 팀과 컬렉션을 쉽게 공유할 수 있습니다.
동기화 활성화: 새 JetClient 프로젝트를 생성할 때 또는 프로젝트 설정에서 동기화를 활성화합니다.
동기화 경로 설정: 동기화 파일이 저장될 디렉터리 경로를 지정합니다.
저장 또는 복원: 프로젝트 루트 또는 특정 요청/폴더를 마우스 오른쪽 버튼으로 클릭하고 Save All
또는 Save
선택하여 저장합니다. 차이점을 복원하거나 보려면 동일한 상황에 맞는 메뉴에서 해당 옵션을 선택하세요.
특정 폴더를 동기화에서 제외하려면 해당 폴더의 속성에서 동기화를 비활성화하세요. 이 변경 사항은 모든 중첩 폴더에도 적용됩니다.
환경을 통해 다양한 컨텍스트에 대해 다양한 변수 세트를 사용할 수 있습니다. 이는 환경 그룹 으로 구성되며 각 그룹에서 하나씩 여러 환경을 동시에 선택할 수 있습니다.
일반적으로 Local
, Staging
및 Production
과 같은 환경을 포함하여 Default
환경 그룹을 항상 사용할 수 있습니다. User
, Client
, Region
, API Version
등과 같은 고유한 환경 그룹을 생성할 수도 있습니다.
환경은 프로젝트별로 정의되며 Environments
탭에서 생성할 수 있습니다. 이러한 환경에 대한 변수는 Variables
탭에서 설정됩니다.
JetClient의 변수는 프로젝트, 폴더, 런타임 등 다양한 수준에서 정의할 수 있습니다.
런타임 변수: 스크립트에 정의되며 스크립트 실행 중에만 사용할 수 있습니다.
프로젝트 및 폴더 변수: JSON5 형식을 사용하여 프로젝트 또는 폴더의 Variables
탭에서 정의됩니다.
변수 편집기는 공유 및 로컬의 두 섹션으로 구분됩니다.
공유 변수는 프로젝트/폴더 동기화 파일에 저장되며 팀과 공유할 수 있습니다.
로컬 변수는 시스템에 안전하게 저장되며 동기화 파일에 포함되지 않습니다.
프로젝트 변수에는 선택한 환경에 관계없이 액세스할 수 있는 환경별 변수와 globals
포함됩니다. 이는 환경을 최상위 속성으로 사용하여 JSON 개체 내에 구성됩니다.
{ 전역: {baseUrl: 'https://api.example.com' }, 지역: {토큰: 'localToken' }, dev: {토큰: 'devToken' }}
폴더 변수에는 일반 변수와 환경별 변수가 모두 포함될 수 있습니다. 일반 변수는 선택한 환경과 상관없이 접근 가능하며, 환경별 변수는 해당 환경을 선택한 경우에만 접근 가능합니다.
{ myFolderVar: 'myValue', dev: {myFolderVar: 'devValue' }}
JetClient의 변수는 기본 유형, 객체 및 배열이 될 수 있으며 스크립트, 요청 및 폴더에서 사용할 수 있습니다. 어떤 필드에서든 변수를 활용하려면 변수를 이중 중괄호( {{myVar}}
로 묶으세요. 예를 들어 {{myRequestBody}}
사용하여 요청 본문에서 전체 객체 또는 배열을 참조할 수 있습니다.
아래 예와 같이 변수는 다른 변수를 참조할 수도 있습니다.
{ 배열: [{ myProperty: 123} ], // 이 변수는 문자열 "123"으로 해석됩니다. myVar: '{{배열[0].myProperty}}', // 이 변수는 숫자 123으로 해석됩니다. myVar2: {{array[0].myProperty}}}
변수는 우선순위가 가장 높은 것부터 가장 낮은 것 순으로 다음 순서로 해결됩니다.
런타임 변수
환경별 로컬 폴더 변수
환경별 공유 폴더 변수
로컬 폴더 변수
공유 폴더 변수
모든 상위 폴더의 변수
환경 변수
전역
JetClient의 요청 및 폴더에는 JavaScript로 작성된 사전 요청 및 테스트 스크립트가 있을 수 있지만 테스트 스위트에는 테스트 스크립트만 포함됩니다. 프로젝트에는 실행당 한 번 실행되는 Init 스크립트가 포함되어 있으며, 이는 전역 함수 및 변수를 정의하는 데 사용할 수 있습니다. 예를 들어:
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 스크립트는 Chai Assertion Library 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
사용하여 쿠키를 관리합니다. 쿠키 관리자를 열려면 도구 창의 도구 모음에서 Cookies Manager
클릭하세요.
프록시는 IDE 프록시 설정을 사용하여 지원됩니다.
HTTP/2
프로토콜을 사용하여 요청을 보내려면 Settings > Tools > JetClient > HTTP Version
에서 HTTP/2
옵션을 선택하세요.
JetClient는 다양한 소스에서 컬렉션 가져오기를 지원합니다.
제트클라이언트 프로젝트
봄
JAX-RS
개조
OpenAPI(스웨거)
컬
우편 집배원
cURL 요청을 가져오려면 cURL 명령을 복사하여 요청의 URL 필드에 붙여넣으면 됩니다.
문서를 개선하려면 PR을 제출하세요.
제품을 더욱 개선하기 위한 제안입니다.
오프라인 전용: JetClient는 오프라인 전용 플러그인이며 데이터를 수집하지 않습니다.
보안 저장소: 로컬 변수, 쿠키 및 OAuth2 토큰은 시스템에 안전하게 저장됩니다. 여기에는 Windows의 KeePass, macOS의 키체인, Linux의 libsecret 사용이 포함됩니다.
클라우드 동기화 없음: 백엔드 또는 클라우드 동기화가 없습니다. 민감한 데이터는 시스템에 안전하게 저장됩니다. 다른 데이터는 프로젝트의 .idea/JetClient
디렉터리와 동기화가 활성화된 경우 JetClient 동기화 파일에 저장됩니다.