Di Apidog, setelah mengirim permintaan dalam sebuah endpoint, Apidog secara otomatis memvalidasi apakah respons sesuai dengan skema berdasarkan spesifikasi endpoint tersebut.
Jika poin-poin di atas konsisten, akan ditampilkan "Response Data Structure validated!". Ini berarti bahwa nilai aktual yang dikembalikan API konsisten dengan spesifikasi dokumentasi API, sehingga menghilangkan kebutuhan untuk verifikasi manual dan meningkatkan efisiensi.
Ketika Anda menemukan prompt yang sesuai di sebelah kanan, Anda dapat mengikuti prompt tersebut untuk menyelesaikan masalah.Secara umum terdapat dua jenis masalah: pertama, ketika respons server tidak benar, dalam hal ini backend perlu dimodifikasi agar selaras dengan spesifikasi; kedua, ketika spesifikasi API tidak benar, sehingga diperlukan modifikasi pada spesifikasi endpoint.Dengan memanfaatkan fitur validasi otomatis, Anda dapat menghilangkan kebutuhan untuk menulis skrip secara manual guna memvalidasi respons. Selain itu, ketika terdapat perubahan pada spesifikasi API, validasi juga akan menyesuaikan secara otomatis.
Secara default, Apidog memvalidasi respons pertama dalam endpoint, biasanya respons 200. Namun, sebuah endpoint dapat mengembalikan beberapa respons berbeda dengan skema yang berbeda. Dalam kasus seperti ini, Anda dapat memilih respons mana yang akan divalidasi di sudut kanan atas area validasi.
Anda juga memiliki opsi untuk menonaktifkan fitur "validate" dengan mengeklik sakelar di depan respons. Perubahan ini hanya berlaku untuk endpoint saat ini.
Seiring peningkatan bisnis aktual, properti tambahan dapat ditambahkan ke respons. Dalam kasus seperti ini, Apidog memungkinkan pengguna menentukan apakah field tambahan diizinkan.Sebagai contoh, terdapat sebuah API untuk mengkueri informasi pengguna, dan field yang sebelumnya dikembalikan adalah name dan phone. Oleh karena itu, struktur data ditentukan seperti berikut:
Dengan peningkatan bisnis, field city baru ditambahkan ke API ini, tetapi spesifikasi API tidak diperbarui. Menurut mekanisme validasi default, tidak ada kesalahan yang akan dilaporkan, yang berarti bahwa penambahan field tambahan diizinkan secara default.
Namun, untuk skenario pengembangan yang lebih ketat, jika nilai yang dikembalikan berisi field tambahan yang tidak sesuai dengan definisi, validasi respons juga harus melaporkan kesalahan. Dalam kasus ini, Anda dapat memperoleh perilaku yang diinginkan dengan mengikuti langkah-langkah berikut:
1.
Modifikasi respons dalam spesifikasi API. Pada pengaturan lanjutan object, konfigurasikan "additionalProperties" menjadi "Deny", yang hanya akan berlaku untuk API saat ini.
2.
Jika Anda ingin melarang field tambahan untuk semua API dalam proyek, Anda dapat membuka Settings → Response Validate Settings dan menonaktifkan Allow Objects to Have additionalProperties.
3.
Setelah menyelesaikan konfigurasi, ketika mengirim permintaan lagi, mekanisme validasi respons akan melaporkan kesalahan, yang menunjukkan bahwa additionalProperties tidak diizinkan.
Sakelar "Validate Response" diaktifkan secara default, dan Anda dapat menyesuaikannya di "Verification Response Settings" pada antarmuka pengaturan proyek. Pengaturan ini hanya berlaku untuk semua API dalam proyek saat ini dan tidak memengaruhi Endpoint Cases yang disimpan.
Jika Anda hanya memerlukan aservi manual atau post-scripts dan tidak memerlukan Apidog untuk memvalidasi konsistensi respons dengan spesifikasi API, Anda dapat menonaktifkan fungsi validasi untuk modul tertentu.
Validasi respons mencakup "HTTP Status", "Header", "Body"; Anda dapat menyesuaikannya di "Validate Response Content" pada pengaturan proyek. Pengaturan ini hanya berlaku untuk semua API dalam proyek saat ini dan tidak memengaruhi Endpoint Cases yang disimpan.