Jika Anda mencari httpYac, Anda mungkin menginginkan cara untuk mengirim permintaan HTTP dari file teks biasa yang dapat Anda simpan di Git, jalankan di dalam VS Code, dan putar ulang di CI. httpYac persis seperti itu: sebuah runner file .http/.rest yang hadir sebagai ekstensi VS Code dan alat baris perintah Node.js. Panduan ini menjelaskan cara kerjanya, menunjukkan contoh kecil, membahas kapan itu cocok, dan menunjukkan jalur GUI plus CI ketika Anda tidak lagi hanya menggunakan file teks. Untuk pemahaman yang lebih luas tentang disiplin ini, lihat panduan pengujian API kami.
Apa sebenarnya httpYac itu
httpYac adalah klien HTTP sumber terbuka yang dibangun di sekitar format file .http. Anda menulis permintaan sebagai teks biasa, lalu mengirimkannya dengan sekali tekan tombol di editor atau dengan satu perintah di terminal Anda. Proyek ini berada di GitHub dan memiliki dokumentasi lengkap di httpyac.github.io.

Ide intinya sederhana. Sebuah permintaan berada dalam file teks di samping kode Anda. Anda mem-versi-kannya dengan Git. Anda meninjaunya dalam permintaan tarik (pull request). Anda menjalankannya dengan cara yang sama, baik Anda seorang manusia di editor atau pekerjaan CI di server build. Model teks biasa yang git-native itu adalah kekuatan terbesar httpYac, dan itu adalah alasan mengapa banyak pengembang backend menggunakannya.
Dua bagian membentuk alat ini:
- Ekstensi VS Code (httpYac) memberi Anda lensa kode "Send Request" di atas setiap permintaan, pratinjau respons, dan pengalihan lingkungan di dalam editor.
- CLI (
httpyac, diinstal melalui npm) menjalankan file yang sama tanpa GUI. Itulah yang membuatnya ramah CI: file yang Anda uji secara lokal adalah file yang dijalankan oleh pipeline Anda.
Karena kedua antarmuka membaca file .http yang sama, tidak ada langkah ekspor terpisah. Apa yang Anda commit adalah apa yang dijalankan.
Format file .http
Sebuah file .http adalah daftar permintaan yang dipisahkan oleh ###. Setiap permintaan terbaca hampir seperti HTTP mentah yang dikirimkannya. Berikut contoh kecil.
### Get a user
GET https://api.example.com/users/42
Accept: application/json
### Create a user
# @name createUser
POST https://api.example.com/users
Content-Type: application/json
{
"name": "Ada Lovelace",
"email": "ada@example.com"
}
### Use a value from the previous response
GET https://api.example.com/users/{{createUser.response.body.$.id}}
Authorization: Bearer {{token}}
Beberapa hal terjadi di sini. Baris ### memisahkan permintaan. Komentar # @name memberi nama permintaan sehingga Anda dapat mereferensikan responsnya nanti. Placeholder {{...}} menarik variabel, termasuk nilai yang dirantai dari respons sebelumnya. Format ini dibagikan dengan ekstensi REST Client yang populer, sehingga file sering berpindah di antara keduanya dengan sedikit editan.
Variabel dan lingkungan
httpYac membaca variabel dari file .env, dari file http-client.env.json, dan dari definisi inline di dalam file permintaan itu sendiri. Anda dapat menyimpan satu set nilai untuk lokal, satu lagi untuk staging, dan satu lagi untuk produksi, lalu beralih di antara keduanya tanpa mengedit permintaan.
@host = https://api.staging.example.com
### Login
# @name login
POST {{host}}/auth/login
Content-Type: application/json
{ "user": "{{USERNAME}}", "pass": "{{PASSWORD}}" }
Rahasia tetap ada di file .env yang Anda jaga agar tidak masuk ke Git, sehingga file permintaan itu sendiri aman untuk di-commit. Di CI, variabel yang sama berasal dari variabel lingkungan atau rahasia pipeline.
Scripting dan assertions
Di sinilah httpYac melampaui pengirim permintaan dasar. Anda dapat menyematkan JavaScript dalam permintaan untuk menyiapkan data sebelum dijalankan atau untuk memeriksa respons setelahnya. Blok pra-permintaan dan pasca-permintaan berjalan dalam konteks Node, sehingga Anda dapat menghitung tanda tangan, menyimpan token, atau melakukan assert pada body.
### Login and capture token
# @name login
POST {{host}}/auth/login
Content-Type: application/json
{ "user": "{{USERNAME}}", "pass": "{{PASSWORD}}" }
{{
// post-request script
test("status is 200", () => {
client.assert.strictEqual(response.statusCode, 200);
});
exports.token = response.parsedBody.token;
}}
token yang ditangkap itu kemudian tersedia untuk permintaan berikutnya sebagai {{token}}. Model scripting ini fleksibel, yang merupakan bagian dari daya tarik bagi pengembang yang menginginkan logika tanpa harus membangun kerangka kerja pengujian lengkap.
Menjalankan httpYac di CI
CLI adalah jembatan dari "berfungsi di mesin saya" menjadi "berjalan di pipeline". Instal dan arahkan ke file Anda.
npm install -g httpyac
# Run a single file
httpyac send api/users.http
# Run every request in a folder, pick an environment, fail on assertion errors
httpyac send --all --env staging "api/**/*.http"
httpYac keluar dengan kode bukan nol ketika sebuah assertion gagal, itulah yang dibutuhkan pekerjaan CI untuk menandai build sebagai merah. Ini dapat mengeluarkan output bergaya JUnit untuk pelapor pengujian, sehingga hasilnya muncul di dasbor CI Anda daripada terkubur dalam log. Masukkan perintah itu ke GitHub Actions, GitLab CI, atau Jenkins dan file yang sama yang Anda edit di VS Code sekarang menjaga penggabungan (merge) Anda.
Kapan menggunakan httpYac
httpYac cocok dengan bentuk tim dan alur kerja tertentu. Gunakanlah ketika sebagian besar hal berikut benar.
| Situasi | Mengapa httpYac cocok |
|---|---|
| Anda sering bekerja di VS Code | Ekstensi ini menyimpan permintaan di samping kode Anda, tanpa perlu beralih konteks |
| Anda ingin permintaan disimpan di Git | Teks biasa dapat dilihat perbedaannya dengan bersih dan ditinjau dalam PR |
| Tim Anda nyaman dengan kode | Scripting dan file .env mengasumsikan kemahiran pengembang |
| Anda menjalankan beberapa pemeriksaan terfokus | Ringan untuk ditambahkan, tidak perlu mengadopsi platform |
| Anda sudah menggunakan file REST Client | Format yang dibagikan memudahkan perpindahan |
Ini kurang cocok ketika non-pengembang perlu menjalankan atau mengedit permintaan, ketika Anda menginginkan tampilan visual dari koleksi permintaan yang besar, ketika Anda membutuhkan lingkungan bersama dan sinkronisasi tim tanpa perlu menyiapkan file, atau ketika Anda menginginkan pelaporan yang lebih kaya dan pengujian beban di satu tempat. Ergonomi teks biasa adalah fitur sampai rangkaian pengujian tumbuh dan tim meluas.
httpYac vs platform GUI dan CI
httpYac adalah runner file teks. Apidog adalah model yang berbeda: platform API berbasis GUI yang juga berjalan di CI. Keduanya tidak "lebih baik" secara abstrak; mereka menyelesaikan masalah dari sudut yang berlawanan. Jadilah jelas pada satu poin di awal: Apidog tidak secara native menjalankan atau mengurai file .http. Jika sumber kebenaran Anda adalah folder file .http, httpYac menjalankannya secara langsung, dan itulah keunggulan jujurnya.
Berikut adalah perbandingan keduanya berdasarkan hal-hal yang biasanya menentukan pilihan.
| Kapabilitas | httpYac | Apidog |
|---|---|---|
| Sumber permintaan | File .http/.rest biasa di Git |
Permintaan visual di ruang kerja, ditambah impor OpenAPI |
| Antarmuka pengeditan | Teks di VS Code atau editor apa pun | Builder visual dengan bidang formulir dan kesadaran skema |
| Variabel dan lingkungan | File .env / JSON, variabel inline |
Lingkungan bersama yang dikelola dengan sinkronisasi tim |
| Assertions | JavaScript dalam skrip permintaan | Assertions visual ditambah scripting |
| Eksekusi CI | httpyac send |
apidog run |
| Mocking dan dokumentasi | Tidak bawaan | Server mock bawaan dan dokumentasi yang dibuat secara otomatis |
| Terbaik untuk | Pengembang yang menginginkan file teks git-native | Tim yang menginginkan desain, pengujian, mocking, dan dokumentasi di satu tempat |
Jika Anda menginginkan sisi visual, Apidog memungkinkan Anda membangun dan mengatur permintaan tanpa menulis file secara manual, lalu menjalankan skenario yang sama di CI dengan apidog run. Referensi apidog run menjelaskan perintah, flag lingkungan, dan pelapor. Anda juga mendapatkan server mock dan dokumentasi di ruang kerja yang sama, yang merupakan sesuatu yang ditinggalkan oleh runner file teks kepada alat lain. Jika mocking adalah kebutuhan nyata, rangkuman kami tentang alat mocking endpoint REST mencakup berbagai pilihan.
Ringkasan jujurnya: httpYac unggul ketika seluruh alur kerja Anda adalah "file di Git, jalankan di editor, putar ulang di CI" dan tim Anda semuanya adalah pengembang. Apidog unggul ketika Anda menginginkan ruang kerja visual bersama, lingkungan terkelola, mocking, dan dokumentasi di samping eksekusi CI. Beberapa tim bahkan menggunakan keduanya, dengan httpYac untuk pemeriksaan lokal cepat dan Apidog sebagai sumber kebenaran tim. Pilih model yang sesuai dengan cara kerja tim Anda.
Pertanyaan yang sering diajukan
Apakah httpYac gratis?
Ya. httpYac adalah sumber terbuka di bawah lisensi MIT. Baik ekstensi VS Code maupun CLI gratis untuk diinstal dan digunakan. Tidak ada tingkatan berbayar atau persyaratan akun untuk menjalankan permintaan secara lokal atau di CI.
Bagaimana httpYac berbeda dari ekstensi REST Client?
Keduanya menggunakan format file .http yang sama, sehingga file sebagian besar portabel. httpYac menambahkan CLI mandiri untuk eksekusi headless dan CI, penanganan lingkungan yang lebih luas, serta model scripting dan assertion yang lebih kaya. REST Client hanya untuk editor. Jika Anda hanya mengirim permintaan di dalam VS Code, keduanya berfungsi; jika Anda perlu menjalankan file yang sama di pipeline, CLI httpYac adalah pembeda. Untuk pandangan yang lebih luas tentang alat editor, lihat daftar plugin VS Code untuk pengujian API kami.
Bisakah httpYac menggantikan Postman?
Bagi pengembang yang menginginkan permintaan teks biasa di Git dan eksekusi CI, httpYac mencakup banyak hal yang digunakan orang untuk Postman, dikurangi GUI, koleksi bersama, dan mocking bawaan. Jika tim Anda membutuhkan ruang kerja visual, lingkungan terkelola, dan mocking secara bersamaan, platform seperti Apidog lebih cocok. Bandingkan pilihan dalam ulasan kami tentang klien pengujian API.
Apakah httpYac mendukung GraphQL dan gRPC?
httpYac menangani permintaan GraphQL dan beberapa protokol di luar REST biasa, termasuk beberapa kasus streaming. Periksa dokumen resmi untuk daftar protokol saat ini, karena dukungan berkembang di antara rilis. Untuk REST, format .http mencakup verb umum, header, body, dan alur otentikasi secara langsung.
Kesimpulan
httpYac adalah jawaban yang jelas untuk kebutuhan yang jelas: mengirim permintaan HTTP dari file teks biasa, menjalankannya di VS Code, dan memutar ulangnya di CI tanpa langkah ekspor terpisah. Model git-native, scripting, dan CLI gratisnya menjadikannya pilihan kuat bagi tim yang didominasi pengembang yang menginginkan permintaan mereka berada di repo. Komprominya adalah semuanya mengasumsikan kode, file, dan kemahiran pengembang.
Jika Anda lebih suka membangun permintaan secara visual, berbagi lingkungan terkelola, endpoint mock, dan membuat dokumen sambil tetap menjalankan pengujian di CI, Apidog mencakup semua itu dalam satu ruang kerja. Anda dapat mengunduh Apidog dan menjalankan rangkaian pengujian Anda dengan apidog run, atau menyimpan httpYac untuk pemeriksaan lokal cepat dan biarkan Apidog menjadi sumber kebenaran tim. Pilih model yang sesuai dengan cara kerja tim Anda.
