Mock di Pengembangan API: Masalah, Solusi, dan Praktik Terbaik dengan EchoAPI
EchoAPI mentransformasi mocking API dengan simulasi dinamis berbasis AI yang mempercepat pengembangan dan menghilangkan ketergantungan pada backend, memungkinkan kemajuan frontend yang mulus dan pengujian yang tangguh.
Dalam pengembangan API sehari-hari, mocking hampir tidak bisa dihindari. Baik itu untuk iterasi cepat di awal proyek maupun saat endpoint belum tersedia, mocking memastikan pengembangan front-end tetap berjalan lancar—bahkan tanpa data backend yang nyata.
Dalam proses riset dan pengembangan (R&D) API sehari-hari, Mock adalah topik yang hampir tidak dapat dihindari. Baik itu untuk iterasi cepat pada tahap awal proyek maupun skenario di mana antarmuka (endpoint) belum siap, Mock membantu kita memastikan kelangsungan dan efisiensi pengembangan front-end bahkan ketika "tidak ada data backend sebenarnya".
1. Masalah Nyata di Lapangan
Bayangkan skenario ini:
Kamu sedang membangun front-end untuk situs e-commerce. Saat pengguna mengklik "Bayar Sekarang", front-end memanggil endpoint backend /pay
, yang seharusnya mengembalikan respons seperti:
{
"data": {
"code": 0,
"message": "success",
"pay_dtime":"2025-08-10 10:00:00",
"order_id":"sn12345678"
}
}
Namun, masalahnya:
- Backend belum siap, jadi kamu tidak bisa menguji alur pasca-pembayaran.
- API pembayaran bergantung pada gateway eksternal yang tidak dikonfigurasi di lingkungan pengujian.
- Beberapa endpoint memerlukan autentikasi atau persiapan data yang rumit, sehingga tidak bisa digunakan di awal.
Menunggu pengembangan backend akan menghambat kemajuan front-end—di sinilah mocking menjadi krusial.
2. Pendekatan Mocking Umum & Keterbatasannya
2.1 File JSON Lokal
Pendekatan paling sederhana: buat mock/data.json
dan ambil datanya:
fetch('/mock/pay.json')
Kekurangan:
- Data statis; tidak bisa mensimulasikan banyak skenario.
- Tidak bisa menangani logika kompleks seperti paginasi atau kueri bersyarat.
2.2 Intercept Permintaan di Front-End (axios-mock-adapter
, Mock.js
)
Menangkap permintaan di browser:
mock.onPost('/api/pay/confirm').reply(200, {
"data": {
"code": 0,
"message": "success",
"pay_dtime":"2025-08-10 10:00:00",
"order_id":"sn12345678"
}
});
Kekurangan:
- Hanya bisa digunakan dalam proyek front-end.
- Data tertulis di kode; sulit untuk dikelola.
2.3 Server Mock Mandiri (json-server
, Easy Mock
)
Menjalankan layanan mock terpisah:
Kekurangan:
- Biaya setup dan pemeliharaan tinggi.
- Logika kompleks memerlukan scripting tambahan; fleksibilitas terbatas.
Metode-metode ini memang cukup untuk kebutuhan dasar, tapi kurang fleksibilitas dan generasi data dinamis saat kompleksitas proyek meningkat.
3.Kemampuan Mock EchoAPI dan Skenario Praktis
EchoAPI menawarkan solusi modern dan fleksibel, mendukung pengembangan cepat maupun skenario kompleks. Mari kita ambil contoh /pay
.
3.1 Kemampuan Mock EchoAPI yang Pertama: Mensimulasikan Pengembalian Nilai Tetap
Simulasikan respons tetap:
{
"data": {
"code": 0,
"message": "success"
}
}
Di EchoAPI, buat API POST /pay
, tentukan responsnya secara visual:

Lalu pindah ke tab Mock untuk mendapatkan URL Mock yang dihasilkan:

Memanggil URL ini akan mengembalikan respons yang telah ditentukan:

3.2 Kemampuan Mock EchoAPI yang Kedua: Menghasilkan Nilai Acak dengan Fungsi Built-in
Tambahkan bidang dinamis seperti pay_dtime
. EchoAPI memiliki variabel bawaan untuk menghasilkan nilai acak atau berbasis waktu:
{
"data": {
"code": 0,
"message": "success",
"pay_dtime":"2025-08-10 10:00:00"
}
}
Cukup sisipkan variabel tanggal bawaan:

Contoh respons:

Sekarang setiap permintaan mengembalikan data baru, menghindari keterbatasan JSON statis.
3.3 Kemampuan Mock EchoAPI yang Ketiga: Fungsi Kustom
Untuk bidang yang sangat khusus, seperti order_id
yang diawali sn
diikuti 8 digit:
{
"data": {
"code": 0,
"message": "success",
"pay_dtime":"2025-08-10 10:00:00",
"order_id":"sn12345678"
}
}
Gunakan fungsi kustom EchoAPI:

Buat fn_orderno
dengan AI atau logika manual:


Contoh respons:

3.4 Kemampuan Mock EchoAPI yang Keempat: Mengembalikan Respons Berbeda Berdasarkan Parameter Permintaan
Tangani banyak skenario: sukses, saldo tidak cukup, akun terkunci. Tetapkan ekspektasi untuk "saldo tidak cukup":


Respons yang dikembalikan:


Pendekatan ini jauh lebih mendekati perilaku nyata dibandingkan JSON statis.
4. Kesimpulan
Mocking sangat penting untuk efisiensi front-end:
- Front-end bisa berkembang tanpa bergantung pada kesiapan backend.
- QA bisa menggunakan kembali tautan mock untuk pengujian awal.
Kelebihan EchoAPI:
- Variabel bawaan: hasilkan beragam data dengan cepat.
- Fungsi kustom: implementasikan logika bisnis kompleks, dibantu AI jika perlu.
Baik kamu butuh iterasi cepat, pengembangan mandiri, atau simulasi skenario nyata, EchoAPI memberikan solusi fleksibel, profesional, dan menghemat waktu agar proyekmu terus berjalan lancar.
Selamat Berkoding!