JetClient adalah plugin klien API yang sederhana dan kuat untuk IDE JetBrains (IntelliJ IDEA, GoLand, PyCharm, PhpStorm, dll.). Ini menggabungkan fitur terbaik dari klien API yang ada dengan penyempurnaan tambahan, semuanya dalam IDE Anda. Fitur utama meliputi:
Sinkronisasi File (Sinkronisasi Git) : Menyimpan permintaan dan folder dalam format yang dapat dibaca manusia di sistem file Anda, memungkinkan berbagi dan kolaborasi dengan mudah dengan tim Anda melalui Git.
Grup Lingkungan : Buat grup lingkungan untuk memilih beberapa lingkungan sekaligus. Misalnya, satu grup untuk (dev, test, prod) dan satu lagi untuk (pengguna, admin).
Manajemen Variabel yang Nyaman : Variabel ditentukan dalam format JSON5 dan disusun dalam dua editor: bersama ( disinkronkan) dan lokal (tidak disinkronkan). Variabel tidak hanya mencakup tipe primitif tetapi juga objek dan array.
Skrip yang Kuat : Tulis pra-permintaan dan uji skrip untuk permintaan dan folder. Selain itu, buat skrip rangkaian pengujian yang dapat menggunakan kembali permintaan yang ada, sehingga menghilangkan kebutuhan untuk menduplikasinya.
Integrasi dengan Kode Sumber dan OpenAPI : Impor API langsung dari kode sumber Anda, dan navigasikan dengan mudah antara permintaan dan kode terkait, dan sebaliknya.
Dukungan GraphQL : Terintegrasi secara mulus dengan plugin GraphQL JetBrains untuk penyorotan sintaksis dan penyelesaian kode.
Tonton video plugin JetClient untuk mempelajari tentang fitur plugin.
Proyek
Sinkronisasi File (Sinkronisasi Git)
Lingkungan
Variabel
Skrip
kue
Proksi
Http/2
Impor
Kontribusi
Pribadi
Proyek adalah kumpulan root yang terdiri dari folder dan permintaan. Ini mencakup pengaturannya sendiri, lingkungan, variabel, dan skrip init. Proyek di JetClient tidak bergantung pada proyek IDE, Anda dapat memiliki beberapa proyek JetClient dalam satu proyek IDE.
Sinkronisasi File (Sinkronisasi Git) memungkinkan penyimpanan dan pemulihan koleksi permintaan Anda di sistem file lokal. Hal ini memungkinkan berbagi koleksi dengan mudah dengan tim Anda melalui Git atau sistem kontrol versi (VCS) lainnya.
Aktifkan Sinkronisasi: Aktifkan sinkronisasi saat membuat proyek JetClient baru atau dalam pengaturan proyek.
Setel Jalur Sinkronisasi: Tentukan jalur direktori tempat file sinkronisasi akan disimpan.
Simpan atau Pulihkan: Klik kanan pada root proyek atau permintaan/folder tertentu, dan pilih Save All
atau Save
untuk menyimpan. Untuk memulihkan atau melihat perbedaan, pilih opsi yang sesuai dari menu konteks yang sama.
Untuk mengecualikan folder tertentu dari sinkronisasi, nonaktifkan sinkronisasi di propertinya. Perubahan ini juga akan berlaku untuk semua folder bertumpuk.
Lingkungan memungkinkan penggunaan kumpulan variabel yang berbeda untuk berbagai konteks. Lingkungan ini disusun dalam Grup Lingkungan , dan Anda dapat memilih beberapa lingkungan secara bersamaan, satu dari setiap grup.
Grup lingkungan Default
selalu tersedia, biasanya mencakup lingkungan seperti Local
, Staging
, dan Production
. Anda juga dapat membuat grup lingkungan Anda sendiri, seperti User
, Client
, Region
, API Version
, dan lainnya.
Lingkungan ditentukan per proyek dan dapat dibuat di tab Environments
. Variabel untuk lingkungan ini diatur di tab Variables
.
Variabel di JetClient dapat ditentukan pada tingkat yang berbeda: proyek, folder, dan waktu proses.
Variabel Runtime: Didefinisikan dalam skrip dan hanya tersedia selama eksekusi skrip.
Variabel Proyek dan Folder: Ditentukan di tab Variables
proyek atau folder, menggunakan format JSON5.
Editor variabel dibagi menjadi dua bagian: Shared dan Local .
Variabel Bersama disimpan dalam file sinkronisasi proyek/folder dan dapat dibagikan dengan tim Anda.
Variabel Lokal disimpan dengan aman di sistem Anda dan tidak disertakan dalam file sinkronisasi.
Variabel proyek mencakup variabel spesifik lingkungan dan globals
, yang dapat diakses terlepas dari lingkungan yang dipilih. Mereka diatur dalam objek JSON dengan lingkungan sebagai properti tingkat atas:
{ global: {baseUrl: 'https://api.example.com' }, lokal: {token: 'localToken' }, pengembang: {token: 'devToken' }}
Variabel folder dapat mencakup variabel umum dan variabel khusus lingkungan. Variabel umum dapat diakses terlepas dari lingkungan yang dipilih, sedangkan variabel khusus lingkungan hanya tersedia bila lingkungan terkait dipilih:
{ myFolderVar: 'Nilai saya', dev: {myFolderVar: 'nilai dev' }}
Variabel di JetClient dapat berupa tipe, objek, dan array primitif, dan dapat digunakan dalam skrip, permintaan, dan folder. Untuk menggunakan variabel dalam bidang apa pun, sertakan variabel dalam kurung kurawal ganda: {{myVar}}
. Anda dapat mereferensikan seluruh objek atau larik, misalnya di isi permintaan, menggunakan {{myRequestBody}}
.
Variabel juga dapat mereferensikan variabel lain, seperti yang ditunjukkan pada contoh di bawah ini:
{ susunan: [{ Properti saya: 123} ], // Variabel ini menghasilkan string "123" myVar: '{{array[0].myProperty}}', // Variabel ini ditetapkan menjadi nomor 123 myVar2: {{array[0].myProperty}}}
Variabel diselesaikan dalam urutan berikut, dari prioritas tertinggi hingga terendah:
Variabel Waktu Proses
Variabel Folder Lokal khusus lingkungan
Variabel Folder Bersama khusus lingkungan
Variabel Folder Lokal
Variabel Folder Bersama
Variabel dari Semua Folder Induk
Variabel Lingkungan
Global
Permintaan dan folder di JetClient dapat memiliki skrip Pra-Permintaan dan Pengujian yang ditulis dalam JavaScript, sedangkan rangkaian pengujian hanya berisi skrip Pengujian . Proyek ini mencakup Skrip Init yang dieksekusi satu kali setiap kali dijalankan, yang dapat digunakan untuk mendefinisikan fungsi dan variabel global. Misalnya:
CryptoJS = require("crypto-js");hmacSHA256 = (pesan) => {kembalikan CryptoJS.HmacSHA256(message, jc.environment.get('secret')).toString();}
Anda kemudian dapat menggunakan CryptoJS
dan hmacSHA256
dalam skrip pra-permintaan dan pengujian Anda.
Skrip dieksekusi dalam urutan berikut ketika Anda mengirim permintaan atau menjalankan folder dengan runner:
Skrip init proyek (dieksekusi satu kali setiap kali dijalankan)
Skrip pra-permintaan dari semua folder induk (dari root ke folder saat ini)
Skrip permintaan pra-permintaan
Uji skrip semua folder induk (dari root hingga folder saat ini)
Uji skrip permintaan
Langkah 2-5 diulangi untuk setiap permintaan yang dijalankan.
Untuk rangkaian pengujian, skrip dijalankan dalam urutan ini:
Init skrip proyek
Skrip pengujian rangkaian pengujian
Skrip dari jc.runRequest
, jc.runFolder
, atau jc.runTestSuite
mengikuti urutan eksekusi yang sama seperti untuk permintaan, folder, dan rangkaian pengujian.
Pustaka bawaan JetClient mirip dengan milik Tukang Pos tetapi alih-alih pm
disebut jc
. Misalnya,
jc.test("Kode status adalah 200", () => {jc.expect(jc.response.code).to.eql(200)})
Skrip JetClient dapat memanfaatkan BDD Chai Assertion Library. Untuk detail selengkapnya, lihat dokumentasi Perpustakaan JetClient. Juga, lihat Tipe Perpustakaan JetClient untuk definisi tipe.
JetClient menyertakan perpustakaan bawaan seperti ajv
, atob
, btoa
, chai
, cheerio
, crypto-js
, csv-parse/lib/sync
, lodash
, moment
, tv4
, uuid
, dan xml2js
, yang dapat Anda impor menggunakan fungsi require
. Selain itu, Anda dapat menambahkan perpustakaan Anda sendiri ke skrip. Navigasikan ke Settings > Tools > JetClient
dan atur Libraries directory
. Jika Anda menggunakan perpustakaan npm, tentukan direktori yang berisi package.json
dan node_modules
Anda. Jika tidak, gunakan direktori tempat perpustakaan skrip Anda berada. Anda kemudian dapat menggunakan require untuk mengimpor perpustakaan Anda.
Kelola cookie menggunakan Cookies Manager
. Untuk membukanya, klik Cookies Manager
di toolbar jendela alat.
Proksi didukung menggunakan Pengaturan Proksi IDE.
Untuk mengirim permintaan menggunakan protokol HTTP/2
, silakan pilih opsi HTTP/2
di Settings > Tools > JetClient > HTTP Version
.
JetClient mendukung impor koleksi dari berbagai sumber:
Proyek JetClient
Musim semi
JAX-RS
Retrofit
OpenAPI (Keangkuhan)
keriting
Tukang pos
Untuk mengimpor permintaan cURL, cukup salin perintah cURL dan tempelkan ke kolom URL permintaan.
Jika Anda ingin menyempurnakan dokumentasi, silakan kirimkan PR.
Saran untuk lebih meningkatkan produk.
Hanya Offline: JetClient adalah plugin offline saja dan tidak mengumpulkan data apa pun.
Penyimpanan Aman: Variabel lokal, cookie, dan token OAuth2 disimpan dengan aman di sistem Anda. Ini termasuk penggunaan KeePass di Windows, Keychain di macOS, dan libsecret di Linux.
Tidak Ada Sinkronisasi Cloud: Tidak ada sinkronisasi backend atau cloud. Data sensitif disimpan dengan aman di sistem Anda. Data lain disimpan di direktori .idea/JetClient
proyek Anda dan di file sinkronisasi JetClient jika sinkronisasi diaktifkan.