Reddit Search APIPertanyaan sebelum kesimpulan.

Pustaka bacaan

Bedakan tampilan hasil kosong dan kegagalan pengiriman

Pisahkan pencarian kuantisasi kosong yang berhasil dari kesalahan HTTP dan respons hilang, sambil mempertahankan pertanyaan terkirim serta menjadikan percobaan ulang sebagai pilihan sadar.

Tentukan jenis respons

Area hasil kosong tidak menjelaskan apa yang terjadi pada pencarian. Dalam catatan LocalLLaMA yang diusulkan, bedakan permintaan berlangsung, respons berhasil dengan rekaman, respons berhasil dengan array data kosong, kesalahan HTTP, dan percobaan pengiriman tanpa respons berguna. Itu pengamatan yang berbeda. Keberhasilan kosong khususnya tidak membuktikan bahwa arsip tidak mempunyai diskusi relevan, sedangkan respons hilang tidak mengungkap apakah server menyelesaikan permintaan. Jangan masukkan penafsiran itu ke dalam jalan pintas visual “tidak ada hasil”.

Gunakan status HTTP bersama bentuk respons yang telah divalidasi. Respons 200 berisi data: [] adalah pengambilan kosong yang berhasil. HTTP 400, 401, 402, 429, dan 502 adalah respons kesalahan, bukan variasi data kosong yang berhasil. Kesalahan jaringan mungkin sama sekali tidak memberi status HTTP. Jangan simpulkan dari kesalahan saja apakah permintaan melewati seluruh tahap backend. Simpan parameter yang dikirim dan identitas permintaan aplikasi bersama setiap hasil agar respons berikutnya dipasangkan dengan pencarian yang tepat.

Tulis tindakan untuk hasil kosong

Gunakan pesan terbatas seperti “Tidak ada rekaman yang dikembalikan untuk permintaan ini”. Tampilkan q=quantization dan subreddit=LocalLLaMA di dekatnya, beserta batas tanggal atau skor aktif. Berikan cara yang disengaja untuk mengubah satu kondisi dan mengirim lagi. Jangan mengganti respons kosong dengan diskusi populer rekaan atau memperluas kueri otomatis sambil mempertahankan label lama. Jika pembaca menghapus filter, hasil berikutnya adalah milik permintaan baru dan harus memulai urutan halaman 1.

Jelaskan batasan relevan tanpa berpura-pura mengetahui penyebab ketiadaan. Pada quantization memory, semua istilah yang dianalisis harus cocok dalam satu bidang title atau text; pembagian di dua bidang tidak cukup. Itu satu pertimbangan mungkin, bukan bukti alasan respons ini kosong. Pertahankan perbedaan biaya: pengambilan kosong yang berhasil tetap memakai satu kredit. Halaman kosong jauh di belakang juga dapat mempunyai total tidak diketahui. Jangan mengubahnya menjadi klaim nol kecocokan di seluruh arsip atau alasan meminta halaman tanpa henti.

Tulis tindakan untuk kegagalan

Hubungkan kesalahan dengan orang yang bisa bertindak. HTTP 400 meminta pemeriksaan masukan sebenarnya, misalnya parameter tak didukung atau tanggal yang bukan YYYY-MM-DD. HTTP 401 menyangkut kunci API layanan, sedangkan 402 kredit akun layanan; keduanya tidak membuktikan sesi masuk pembaca pada aplikasinya sendiri telah berakhir. Pengelola mungkin perlu membetulkan kredensial backend atau memeriksa saldo. Jangan meminta pembaca menempelkan kunci layanan ke layar pencarian publik.

Untuk 429, patuhi Retry-After dan kurangi pengiriman berulang. Untuk 502, pertahankan kueri dan tawarkan percobaan ulang yang disengaja bila sesuai; pengembalian kredit cadangan mungkin menunggu rekonsiliasi. Respons yang tidak datang perlu pesan berbeda: hasilnya tidak diketahui, termasuk apakah keberhasilan ditagih. Permintaan tidak valid yang ditolak sebelum pencadangan tidak ditagih, tetapi kegagalan koneksi tidak membuktikan penolakan itu terjadi. Endpoint gratis /v1/status menyatakan lingkup layanan statis dan respons HTTP; ia tidak bisa memastikan nasib permintaan hilang atau kesehatan pencarian.

Uji kesinambungan navigasi

Kesinambungan juga berarti mempertahankan masukan pengguna. Rencanakan fixture lokal untuk respons kosong sah, kesalahan HTTP, dan kesalahan jaringan sebelum respons tersedia. Gunakan bahan yang jelas sintetis; fixture itu menguji antarmuka, bukan memastikan ketersediaan arsip. Periksa bahwa tiap keadaan memberi pesan berbeda dan kueri terkirim tetap dapat dibuka. Tambahkan kasus ketika formulir berubah saat permintaan masih berjalan: hasil lama tidak boleh tampil sebagai jawaban terhadap rumusan baru.

Jika halaman berikutnya gagal, pertahankan rekaman yang sudah dimuat dan bedakan keadaan selesainya dari kelanjutan yang gagal. Biarkan pembaca mencoba halaman itu lagi atau kembali ke formulir tanpa diam-diam mengirim permintaan lain. Mengabaikan respons terlambat di antarmuka tidak menjamin pembatalan kerja server. Catat transisi yang benar-benar diuji dan mana yang masih usulan. Tujuannya ialah layar yang menjelaskan apa yang diketahui serta menawarkan langkah berguna, bukan pesan meyakinkan yang tak didukung respons.