‫Instruktur: Fitur kecil
‫lain yang bagus yang dapat
‫kita tambahkan ke API adalah menyediakan rute alias ke
‫permintaan yang mungkin sangat
‫populer, sehingga mungkin diminta sepanjang waktu.
‫Dan, misalnya, kami
‫mungkin ingin memberikan rute khusus
‫untuk lima tur murah terbaik.
‫Jadi, jika kita menggunakan rute reguler kita
‫di sini dengan filter dan dengan
‫semua fitur
‫yang sudah kita miliki, permintaannya akan terlihat sedikit seperti ini.
‫Jadi, mari kita singkirkan semua ini.
‫Nah, itulah lima wisata terbaik dan termurah.
‫Jadi, itu berarti kami memiliki batas lima
‫dan kemudian kami akan mengurutkan berdasarkan peringkat dan harga.
‫Jadi, urutkan dan kemudian
‫peringkat rata-rata, dan turun, jadi minus peringkat rata-rata.
‫Dan, jika mereka memiliki rata-rata yang sama, maka
‫kami menginginkan harga yang semurah mungkin.
‫Jadi, kami akan mengurutkan juga berdasarkan harga.
‫Mari kita cepat melihat hasilnya.
‫Dan, memang, kami mendapatkan lima tur di sini.
‫Dan, Tukang Pos melakukan pengguliran ini lagi.
‫Jadi, kami memiliki tur dengan 4. 9, 4.
‫9, 4.
‫9 lagi, 4. 8, dan 4. 7.
‫Jadi, ini sebenarnya adalah lima tur terbaik dan termurah kami.
‫Jika kita mengatakan termurah dan
‫terbaik, yah, mungkin kita harus mengurutkan berdasarkan harga terlebih dahulu
‫karena beberapa di antaranya tidak terlalu murah.
‫Misalnya, yang ini.
‫Tapi, kami memilih, pertama, rata-rata.
‫Jadi, kami mengurutkan berdasarkan rata-rata tertinggi terlebih dahulu
‫dan, hanya kemudian dalam kasus seri, pada dasarnya, hanya kemudian,
‫berdasarkan harga.
‫Sekarang, katakanlah ini adalah permintaan yang
‫dilakukan sepanjang waktu dan kami
‫ingin menyediakan rute
‫yang sederhana dan mudah diingat bagi pengguna.
‫Jadi, mari buka aplikasi kita dan coba terapkan itu.
‫Dan, kita akan mulai dari rute mereka, jadi router tur.
‫Dan, kita kemudian perlu membuat rute baru.
‫Dan, mari kita lakukan itu di sini, tepat di atas.
‫Jadi, router. rute.
‫Jadi, bagaimana kita akan menyebut rute ini?
‫Nah, katakanlah top-5-murah.
‫Jadi, nama yang cukup sederhana, tapi itu akan berhasil.
‫Dan kemudian, kami sebenarnya
‫hanya ingin mendapatkan permintaan ke rute ini.
‫Jadi, sekarang saatnya untuk berpikir.
‫Bagaimana kita akan mengimplementasikan fungsi ini?
‫Nah, pada intinya yang kita
‫inginkan sebenarnya tetap mendapatkan semua wisata seperti di sini.
‫Jadi, izinkan saya melanjutkan dan mulai dengan menyalin
‫dan menempelkannya di sini.
‫Jadi, kami benar-benar masih ingin menggunakan fungsi ini di sini
‫karena tidak masuk akal
‫untuk menulis ulang semua logika yang ada di sana.
‫Namun, sebelum kita dapat memanggil route ender ini, pada
‫dasarnya kita ingin mengisi terlebih dahulu beberapa bidang
‫dalam string kueri.
‫Jadi, kita sudah
‫tahu bahwa string kueri kita akan terlihat seperti ini.
‫Dan, sebenarnya kita bisa menambahkan beberapa hal lagi di sini.
‫Namun, pada dasarnya, string
‫kueri kami harus terlihat seperti ini.
‫Jadi, solusinya adalah menjalankan middleware sebelum kita
‫benar-benar menjalankan handler getAllTours ini.
‫Jadi, fungsi middleware
‫itu kemudian akan memanipulasi objek kueri yang masuk.
‫Jadi, ini adalah contoh
‫lain yang sangat bagus dalam menggunakan
‫middleware karena Anda benar-benar harus terbiasa dan
‫terbiasa dengan konsep penggunaan middleware ini secara
‫strategis untuk mengubah objek permintaan sesuai kebutuhan.
‫Jadi, mari kita tambahkan di sini.
‫Jadi, tourController.
‫Dan kemudian,
‫fungsi middleware yang akan kita buat
‫sebentar lagi, yang akan disebut aliasTopTours.
‫Jadi, mari kita salin nama itu, pindah ke tourController dan saya
‫akan meletakkannya di sini di bagian paling atas.
‫Jadi, ekspor. lalu request, response,
‫dan apa argumen ketiga yang kita
‫butuhkan
‫di middleware, ingat?
‫Dan, saya tahu bagian Ekspres agak jauh pada
‫saat ini, tetapi saya harap Anda ingat bahwa argumen ketiga
‫di sini perlu menjadi yang berikutnya.
‫Jadi, untuk memanggil middleware berikutnya yang
‫ada di tumpukan middleware.
‫Berikan simpanan.
‫Jadi, kesalahan ini di sana harus hilang.
‫Jadi, mari kita lakukan apa yang kita katakan akan kita lakukan.
‫Jadi, pada dasarnya untuk
‫memanipulasi objek query sehingga ketika
‫mencapai handler getAllTours, itu sudah berbeda.
‫Jadi, pertama-tama mari kita
‫lakukan itu dan kemudian benar-benar melihat apa yang terjadi.
‫Jadi, ingat, batasnya akan ditetapkan menjadi lima.
‫Dan, ingat bahwa semuanya adalah string di sini dan jadi
‫saya menyetel ini juga ke string.
‫Sekarang, apa lagi yang kita punya?
‫Jadi, kami memiliki semacam
‫ini, jadi mari kita salin ini di sini dan ucapkan req. pertanyaan. menyortir.
‫Seharusnya ini.
‫Dan kemudian, kita sebenarnya juga
‫dapat menentukan beberapa bidang sehingga pengguna tidak mendapatkan semua
‫bidang yang kita miliki di sana.
‫Jadi, katakanlah
‫kita hanya menginginkan nama, harga,
‫rata-rata peringkat, ringkasan, dan tingkat kesulitan.
‫Berikan save
‫dan sekarang yang kita butuhkan adalah selanjutnya, jika tidak middleware ini
‫akan terjebak di sini selamanya dan tidak dapat melanjutkan.
‫Jadi, sekarang mari kita cari tahu
‫sedikit lebih baik apa yang sebenarnya akan terjadi di sini.
‫Jadi, segera setelah
‫seseorang mencapai rute top-5-murah, kami akan mulai.
‫Middleware pertama yang akan dijalankan adalah aliasTopTours.
‫Jadi, fungsi yang baru saja kita buat.
‫Jadi, yang akan dilakukan adalah
‫menyetel properti objek kueri
‫ini ke nilai yang kita tentukan di sini.
‫Pada dasarnya mengisi bagian awal
‫dari objek kueri sebelum kita mencapai handler getAllTours.
‫Jadi, segera setelah kita mendapatkan fungsi ini, objek
‫kueri sudah diisi sebelumnya, bahkan jika pengguna
‫tidak memasukkan parameter ini ke
‫dalam string kueri.
‫Jadi, intinya, apa yang kita
‫lakukan di
‫sini adalah mengisi ulang string kueri untuk pengguna
‫sehingga pengguna tidak harus melakukannya sendiri.
‫Jadi, sekarang mari kita lanjutkan dan coba ini.
‫Jadi, saya menyalin ini.
‫Dan, ini bukan tur.
‫Ini adalah top-5-tur.
‫Wah, apa yang terjadi di sini?
‫Untuk beberapa alasan, tidak
‫menemukan rute ini, jadi mari kita kembali.
‫Jadi, top-5-tur.
‫Jadi, di sini di rute, ah, oke.
‫Ini disebut top-5-murah, jadi kesalahan
‫saya di sini.
‫Jadi, murah,
‫kirim sekarang, dan itu masih salah.
‫Ah, ya.
‫Tentu saja, saya masih harus menempatkan tur di sini, tentu saja.
‫Jadi, kami berada di sumber daya tur dan seluruh router
‫dipasang ke rute tur
‫ini, ingat itu.
‫Jadi, dalam tur itu, aplikasi mini semacam itu,
‫ingatlah, di mana
‫saya membuat 5 rute murah teratas ini.
‫Jadi, semoga berhasil sekarang.
‫Dan memang benar.
‫Jadi, itu berhasil, itu fantastis.
‫Sekarang, tentu saja, kita bisa melakukan lebih banyak
‫lagi alias route di sini, tapi itu tidak terlalu penting.
‫Saya benar-benar hanya ingin menunjukkan
‫kepada Anda konsepnya, menunjukkan kepada Anda bahwa ini bisa
‫menjadi fitur yang bagus untuk ditambahkan ke API
‫apa pun dan saya juga ingin, sekali lagi, menunjukkan kepada Anda kekuatan middlewares.
‫Jadi, kita berbicara tentang luwak di sini, tetapi
‫tetap saja, sangat penting
‫untuk tetap mengenal konsep Express yang telah kita bicarakan sebelumnya.
‫Bagaimanapun, kita sekarang sudah selesai dengan fitur API kita.
‫Di video berikutnya, kita akan dengan cepat memfaktorkan
‫ulang semua ini untuk membuat keseluruhan
‫kode sedikit lebih modular dan, tentu saja, lebih baik.