Mulai menggunakan Dev Proxy
Dev Proxy adalah alat baris perintah yang membantu Anda mensimulasikan perilaku dan kesalahan API cloud untuk membantu Anda membangun aplikasi yang tangguh.
Dalam tutorial ini, Anda mempelajari cara menginstal, menjalankan, dan mengonfigurasi Dev Proxy.
Jika Anda mengalami kesulitan, jangan ragu untuk menghubungi kami dengan memunculkan masalah baru dan kami dengan senang hati membantu Anda.
Menginstal Proksi Dev
Cara termampu untuk menginstal Dev Proxy adalah dengan menggunakan winget. Atau, Anda dapat menginstal Dev Proxy secara manual.
Untuk menginstal Dev Proxy menggunakan winget, jalankan perintah berikut:
winget install Microsoft.DevProxy --silent
Penting
Penginstal Dev Proxy menambahkan entri baru ke PATH. Untuk menggunakan Dev Proxy setelah penginstalan, Anda harus memulai ulang prompt perintah untuk memastikan bahwa variabel lingkungan PATH telah di-refresh.
Cara termampu untuk menginstal Dev Proxy adalah dengan menggunakan Homebrew. Atau, Anda dapat menginstal Dev Proxy secara manual.
Untuk menginstal Dev Proxy menggunakan Homebrew, jalankan perintah berikut:
brew tap microsoft/dev-proxy
brew install dev-proxy
Mulai Dev Proxy untuk pertama kalinya
Pertama kali Anda memulai Dev Proxy di komputer Anda, ada beberapa langkah yang harus diikuti untuk memastikan bahwa Dev Proxy dapat mencegat permintaan dari komputer Anda dan berhasil merespons. Anda tidak perlu mengulangi langkah-langkah ini setelah eksekusi pertama.
- Mulai Proksi Dev. Buka sesi prompt perintah. Masukkan
devproxy
dan tekan Enter. - Sertifikat kepercayaan. Dev Proxy menginstal sertifikat bernama
Dev Proxy CA
. Peringatan muncul. PilihYes
untuk mengonfirmasi bahwa Anda ingin menginstal sertifikat. Dev Proxy menggunakan sertifikat ini untuk mendekripsi lalu lintas HTTPS yang dikirim dari komputer Anda. - Izinkan akses firewall. Windows Firewall memblokir proksi. Peringatan muncul. Pilih
Allow access
tombol untuk mengizinkan lalu lintas melalui firewall.
- Mulai Proksi Dev. Buka sesi prompt perintah. Masukkan
devproxy
dan tekan Enter. - Sertifikat kepercayaan. Dev Proxy menginstal sertifikat bernama
Dev Proxy CA
, yang digunakannya untuk mendekripsi lalu lintas HTTPS yang dikirim dari komputer Anda. Peringatan muncul. Tekan y untuk mengonfirmasi bahwa Anda ingin mempercayai sertifikat. - Terima koneksi masuk. Peringatan muncul. Pilih
Allow
untuk mengonfirmasi.
Perintah menampilkan output berikut:
8 error responses loaded from devproxy-errors.json
Listening on 127.0.0.1:8000...
Hotkeys: issue (w)eb request, (r)ecord, (s)top recording, (c)lear screen
Press CTRL+C to stop Dev Proxy
Secara default, Dev Proxy dikonfigurasi untuk:
- Permintaan intersepsi yang dibuat ke titik akhir API Tempat Penampung JSON
- Simulasikan respons kesalahan API dan pembatasan API dengan tingkat kegagalan 50%
Permintaan intersepsi
Dev Proxy akan mencegat permintaan yang dibuat ke URL yang diketahui dari aplikasi apa pun di komputer Anda. Saat permintaan terdeteksi, Dev Proxy meneruskan permintaan ke API (tidak mengambil tindakan), atau mengembalikan respons.
- Kirim permintaan ke JSON Placeholder API dari baris perintah dan beralih kembali ke proses proksi untuk melihat output.
Di PowerShell, gunakan Invoke-WebRequest
cmdlet untuk mengirim permintaan GET ke JSON Placeholder API.
Invoke-WebRequest -Uri https://jsonplaceholder.typicode.com/posts
Jika Anda menggunakan curl
, kirim permintaan GET ke JSON Placeholder API menggunakan perintah berikut.
curl -ix http://localhost:8000 https://jsonplaceholder.typicode.com/posts
Anda juga dapat menggunakan klien API seperti Postman untuk mengirim permintaan GET ke https://jsonplaceholder.typicode.com/posts
.
Entri ditampilkan dengan beberapa informasi dasar tentang permintaan masuk dan tindakan yang dilakukan Proksi Dev. Dev Proxy mensimulasikan respons kesalahan dengan peluang 50%. Jika permintaan Anda tidak mengembalikan kesalahan, Dev Proxy akan melewatinya.
request GET https://jsonplaceholder.typicode.com/posts
api ╭ Passed through
╰ GET https://jsonplaceholder.typicode.com/posts
- Ulangi permintaan pengiriman ke JSON Placeholder API dari baris perintah, hingga respons kesalahan dikembalikan.
request GET https://jsonplaceholder.typicode.com/posts
api ╭ Passed through
╰ GET https://jsonplaceholder.typicode.com/posts
request GET https://jsonplaceholder.typicode.com/posts
chaos ╭ 403 Forbidden
╰ GET https://jsonplaceholder.typicode.com/posts
Saat Dev Proxy mengembalikan respons kesalahan, chaos
label ditampilkan dalam entri.
- Coba kirim permintaan ke titik akhir lain yang tersedia di JSON Placeholder API
https://jsonplaceholder.typicode.com/posts
https://jsonplaceholder.typicode.com/posts/1
https://jsonplaceholder.typicode.com/posts/1/comments
https://jsonplaceholder.typicode.com/comments?postId=1
Hentikan Proksi Dev dengan aman
Ketika Anda tidak lagi mengharuskan Dev Proxy berjalan, Anda harus selalu menghentikannya dengan aman.
- Tekan Ctrl + C untuk menghentikan Proksi Dev dengan aman.
Jika Anda mematikan sesi prompt perintah, Dev Proxy tidak membatalkan pendaftaran dengan benar sebagai proksi sistem, dan Anda mungkin mengalami beberapa masalah umum.
Perbarui URL ke watch
Secara default, Dev Proxy dikonfigurasi untuk mencegat permintaan apa pun yang dibuat ke JSON Placeholder API. Anda dapat mengonfigurasi Dev Proxy untuk mencegat permintaan ke API HTTP apa pun.
- Dalam perintah, jalankan
brew list dev-proxy
untuk menemukan folder penginstalan. - Buka folder penginstalan Proksi Dev di Finder.
- Di folder penginstalan Proksi Dev, buka
devproxyrc.json
di editor teks. urlsToWatch
Temukan array .
"urlsToWatch": [
"https://jsonplaceholder.typicode.com/*"
],
Array urlsToWatch
mewakili URL yang diketahui. Dev Proxy mengawasi permintaan dari entri saat ini ke titik akhir apa pun. Entri menggunakan tanda bintang setelah URL sebagai wildcard. Menambahkan lebih banyak entri ke dalam array ini memperluas URL yang diwaspadai Oleh Proksi Dev.
Mari kita pertimbangkan bahwa Anda tidak ingin Dev Proxy mencegat permintaan yang dibuat ke titik akhir tertentu.
- Tambahkan entri baru ke
urlsToWatch
array.
"urlsToWatch": [
"!https://jsonplaceholder.typicode.com/posts/2",
"https://jsonplaceholder.typicode.com/*"
],
Tanda seru di awal URL memberi tahu Dev Proxy untuk mengabaikan permintaan apa pun yang cocok dengan URL tersebut. Anda dapat mencampur dan mencocokkan tanda seru dan tanda bintang dalam URL.
- Di baris perintah, masukkan
devproxy
dan tekan Enter untuk memulai Dev Proxy. - Kirim permintaan ke
https://jsonplaceholder.typicode.com/posts/2
dari baris perintah dan lihat output.
Entri ditampilkan yang mengonfirmasi bahwa permintaan diabaikan dan diteruskan ke API.
request GET https://jsonplaceholder.typicode.com/posts/2
api ╭ Passed through
╰ GET https://jsonplaceholder.typicode.com/posts/2
Urutan di mana URL tercantum dalam urlsToWatch
array penting. Dev Proxy memproses URL ini secara berurutan. Saat URL cocok, URL tidak diproses lagi. Oleh karena itu, menempatkan URL terlebih dahulu memastikan bahwa permintaan diabaikan sebelum URL berikutnya diproses.
Mengubah tingkat kegagalan
Secara default, Dev Proxy dikonfigurasi untuk gagal permintaan dengan peluang 50% ke URL yang sedang diawasi. Anda dapat menambah atau mengurangi kemungkinan permintaan mengembalikan respons kesalahan.
Mari kita perbarui tingkat kegagalan sehingga setiap permintaan ke JSON Placeholder API mengembalikan respons kesalahan.
- Di folder penginstalan Proksi Dev, buka
devproxyrc.json
di editor teks. rate
Temukan properti dan perbarui nilai dari50
ke100
.
File devproxyrc.json
berisi pengaturan konfigurasi yang digunakan saat Anda memulai Dev Proxy. Saat mengubah pengaturan konfigurasi, Anda harus selalu menghentikan dan memulai Dev Proxy agar perubahan tetap ada.
- Di baris perintah, masukkan
devproxy
dan tekan Enter untuk memulai Dev Proxy. - Kirim permintaan ke JSON Placeholder API dari baris perintah dan lihat output.
Atau, Anda dapat mengganti pengaturan konfigurasi saat runtime dengan menggunakan --failure-rate
opsi saat memulai Dev Proxy.
devproxy --failure-rate 100
- Tekan Ctrl + C untuk menghentikan Proksi Dev dengan aman.
Mensimulasikan pembatasan
Secara default, Dev Proxy mengembalikan rentang respons kesalahan 400 dan 500 generik. Anda dapat menyesuaikan respons kesalahan ini dengan kebutuhan Anda sendiri.
Dev Proxy menggunakan plugin untuk mengaktifkan perilaku API yang berbeda, secara default, kami mengaktifkan dua plugin untuk Anda.
- Plugin GenericRandomErrorPlugin menyediakan kemampuan bagi Dev Proxy untuk merespons dengan respons kesalahan.
- Plugin RetryAfterPlugin menyediakan kemampuan bagi Dev Proxy untuk menyuntikkan nilai dinamis ke header Retry-After dalam respons kesalahan.
Mari kita ubah konfigurasi sehingga Dev Proxy selalu mengembalikan 429 Too Many requests
respons kesalahan untuk mensimulasikan pembatasan.
Pertama mari kita temukan lokasi file yang berisi definisi kesalahan.
- Di folder penginstalan Proksi Dev, buka
devproxyrc.json
di editor teks. plugins
Dalam array , temukan entri untuk plugin GenericRandomErrorPlugin. Perhatikan nilaiconfigSection
properti .- Lebih jauh ke bawah file, temukan
genericRandomErrorPlugin
objek . Perhatikan nilaierrorsFile
properti .
Tip
Lokasi file kesalahan juga ditampilkan dalam output saat Anda memulai Dev Proxy.
- Di folder penginstalan Proksi Dev, buka
devproxy-errors.json
di editor teks. - Hapus semua entri respons dalam
responses
array, kecuali untuk429
respons.
{
"$schema": "https://raw.githubusercontent.com/microsoft/dev-proxy/main/schemas/v0.17.0/genericrandomerrorplugin.schema.json",
"responses": [
{
"statusCode": 429,
"body": {
"message": "Too Many Requests",
"details": "The user has sent too many requests in a given amount of time (\"rate limiting\")."
},
"headers": {
"Retry-After": "@dynamic"
}
}
]
}
- Di baris perintah, masukkan
devproxy
dan tekan Enter untuk memulai Dev Proxy. - Kirim permintaan ke JSON Placeholder API dari baris perintah dan lihat output.
request GET https://jsonplaceholder.typicode.com/posts
chaos ╭ 429 TooManyRequests
╰ GET https://jsonplaceholder.typicode.com/posts
- Tekan Ctrl + C untuk menghentikan Proksi Dev dengan aman.
Langkah selanjutnya
Pelajari cara menggunakan Dev Proxy untuk mensimulasikan kesalahan acak untuk aplikasi Anda sendiri.
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk