Cara menipu API pihak ketiga
Aplikasi kami melakukan panggilan ke API pihak ketiga untuk menyelesaikan beberapa tugas.
Titik akhir ini memiliki masalah di lingkungan pengujian, dan manajemen telah meminta kami untuk mengejek lingkungan ini sehingga ketika aplikasi atau siapa pun mencoba menghubungi www.test.com dari mesin uji, aplikasi tersebut mendapatkan informasi dari server tiruan daripada www yang sebenarnya .test.com .
Saya mencoba untuk mencari tahu opsi yang berbeda tetapi semuanya mengejek jika kita membuat objek tiruan dan kemudian memanggil objek tiruan.
Saya mencoba mencari cara di mana setiap kali seseorang menelepon www.test.com itu harus menampilkan konten dari localhost.
Saya tidak ingin mengedit file host. Apakah ada cara lain?
Memperbarui:
Membuat aplikasi dapat dikonfigurasi, sehingga kita dapat menentukan titik akhir mana yang harus dipanggil aplikasi.
Saya menggunakan Mockserver di tukang pos untuk mensimulasikan ini. Tetapi postmand tidak mendukung parameter kueri
jadi untuk v1 / api? q = 1 dan v1 / api? q = 2 mengembalikan respon yang sama
Bisakah seseorang membantu cara membuat mockserver yang memberikan respons berbeda untuk parmaeter kueri yang berbeda
Jawaban
Kami memiliki pengalaman yang baik dengan json-server. Kami merasa sangat fleksibel.
Dapatkan REST API palsu penuh dengan nol pengkodean dalam waktu kurang dari 30 detik (serius)
Dibuat dengan <3 untuk developer front-end yang membutuhkan back-end cepat untuk pembuatan prototipe dan mocking.
https://github.com/typicode/json-server
Itu dapat server dari file json statis, di mana setiap ID mengembalikan nilai yang berbeda. Atau Anda dapat menggunakan JavaScript untuk membuatnya. Anda dapat mengubah data berdasarkan id, memberikan data acak, memutar dataset, dll ...
Mereka juga memiliki versi yang dihosting untuk Anda jika Anda ingin menguji melalui internet. Kumpulan data kecil gratis:https://my-json-server.typicode.com/
Menurut dokumen Postman :
Jika tidak ada pencocokan persis yang ditemukan, Postman akan mengembalikan respons pencocokan terbaik berdasarkan algoritmanya.
Saya telah menguji server tiruan dan berfungsi dengan parameter kueri, namun algoritme menunjuk ke nilai default saat Anda tidak memalsukan parameter. Dalam hal ini:
?id=1menunjuk ke 200dengan okhalaman
?id=2menunjuk ke 404dengan bad requesthalaman
?id=3dan seterusnya tidak diimplementasikan dan server tiruan mengembalikan 200dengan okhalaman.
Jika Anda menerima ejekan dengan paket lain selain Postman, maka saya sarankan menggunakan MockServer atau WireMock , keduanya memiliki dukungan untuk menjelaskan aturan yang cocok di Java dan JSON.
Misalnya, dengan WireMock Anda dapat mencocokkan Permintaan HTTP dengan URL dan string kueri sebagai berikut :
Pencocokan ekspresi reguler pada jalur dan kueri
Jawa:
urlMatching("/your/([a-z]*)\\?and=query")JSON:
{ "request": { "urlPattern": "/your/([a-z]*)\\?and=query" ... }, ... }
Dapatkah Anda menyiapkan parameter env dan kemudian menggunakannya untuk mengontrol aplikasi mana yang berbicara dengan aplikasi Anda? Anda dapat menggunakannya untuk menyetel alamat api pengembangan, pengujian, dan produksi dengan mudah.