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:

Praktik Terbaik Mock dengan EchoAPI.png

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

URL Mock Praktik Terbaik dengan EchoAPI.png

Memanggil URL ini akan mengembalikan respons yang telah ditentukan:

Memanggil URL Mock.png

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:

sisipkan variabel tanggal bawaan di echoapi.png

Contoh respons:

Contoh respons di echoapi.png

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:

EchoAPI’s custom function.png

Buat fn_orderno dengan AI atau logika manual:

Buat  dengan AI atau logika manual di echoapi.png
EchoAPI mock.png

Contoh respons:

Contoh respons di echoapi.png

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 Bersyarat di echoapi.png
Respons Bersyarat di echoapi1.png

Respons yang dikembalikan:

Respons yang dikembalikan di echoapi.png
Respons yang dikembalikan di echoapi1.png

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!