﻿1
00:00:01,330 --> 00:00:02,860
‫Instruktur: Fitur kecil

2
00:00:02,860 --> 00:00:04,910
‫lain yang bagus yang dapat

3
00:00:04,910 --> 00:00:08,070
‫kita tambahkan ke API adalah menyediakan rute alias ke

4
00:00:08,070 --> 00:00:09,660
‫permintaan yang mungkin sangat

5
00:00:09,660 --> 00:00:11,963
‫populer, sehingga mungkin diminta sepanjang waktu.

6
00:00:13,400 --> 00:00:15,260
‫Dan, misalnya, kami

7
00:00:15,260 --> 00:00:17,790
‫mungkin ingin memberikan rute khusus

8
00:00:17,790 --> 00:00:20,203
‫untuk lima tur murah terbaik.

9
00:00:21,324 --> 00:00:23,530
‫Jadi, jika kita menggunakan rute reguler kita

10
00:00:23,530 --> 00:00:25,530
‫di sini dengan filter dan dengan

11
00:00:25,530 --> 00:00:26,580
‫semua fitur

12
00:00:26,580 --> 00:00:29,930
‫yang sudah kita miliki, permintaannya akan terlihat sedikit seperti ini.

13
00:00:29,930 --> 00:00:32,090
‫Jadi, mari kita singkirkan semua ini.

14
00:00:32,090 --> 00:00:34,510
‫Nah, itulah lima wisata terbaik dan termurah.

15
00:00:34,510 --> 00:00:37,340
‫Jadi, itu berarti kami memiliki batas lima

16
00:00:39,495 --> 00:00:42,663
‫dan kemudian kami akan mengurutkan berdasarkan peringkat dan harga.

17
00:00:44,300 --> 00:00:47,640
‫Jadi, urutkan dan kemudian

18
00:00:47,640 --> 00:00:52,640
‫peringkat rata-rata, dan turun, jadi minus peringkat rata-rata.

19
00:00:54,110 --> 00:00:56,750
‫Dan, jika mereka memiliki rata-rata yang sama, maka

20
00:00:56,750 --> 00:00:59,270
‫kami menginginkan harga yang semurah mungkin.

21
00:00:59,270 --> 00:01:02,353
‫Jadi, kami akan mengurutkan juga berdasarkan harga.

22
00:01:03,610 --> 00:01:06,060
‫Mari kita cepat melihat hasilnya.

23
00:01:06,060 --> 00:01:08,163
‫Dan, memang, kami mendapatkan lima tur di sini.

24
00:01:09,670 --> 00:01:12,560
‫Dan, Tukang Pos melakukan pengguliran ini lagi.

25
00:01:12,560 --> 00:01:18,640
‫Jadi, kami memiliki tur dengan 4. 9, 4.

26
00:01:18,640 --> 00:01:18,640
‫9, 4.

27
00:01:18,640 --> 00:01:20,553
‫9 lagi, 4. 8, dan 4. 7.

28
00:01:22,250 --> 00:01:27,060
‫Jadi, ini sebenarnya adalah lima tur terbaik dan termurah kami.

29
00:01:27,060 --> 00:01:29,150
‫Jika kita mengatakan termurah dan

30
00:01:29,150 --> 00:01:32,270
‫terbaik, yah, mungkin kita harus mengurutkan berdasarkan harga terlebih dahulu

31
00:01:32,270 --> 00:01:34,580
‫karena beberapa di antaranya tidak terlalu murah.

32
00:01:34,580 --> 00:01:36,320
‫Misalnya, yang ini.

33
00:01:36,320 --> 00:01:40,180
‫Tapi, kami memilih, pertama, rata-rata.

34
00:01:40,180 --> 00:01:43,160
‫Jadi, kami mengurutkan berdasarkan rata-rata tertinggi terlebih dahulu

35
00:01:43,160 --> 00:01:46,700
‫dan, hanya kemudian dalam kasus seri, pada dasarnya, hanya kemudian,

36
00:01:46,700 --> 00:01:47,900
‫berdasarkan harga.

37
00:01:49,120 --> 00:01:51,340
‫Sekarang, katakanlah ini adalah permintaan yang

38
00:01:51,340 --> 00:01:53,350
‫dilakukan sepanjang waktu dan kami

39
00:01:53,350 --> 00:01:55,060
‫ingin menyediakan rute

40
00:01:55,060 --> 00:01:57,453
‫yang sederhana dan mudah diingat bagi pengguna.

41
00:01:58,670 --> 00:02:02,110
‫Jadi, mari buka aplikasi kita dan coba terapkan itu.

42
00:02:02,110 --> 00:02:06,330
‫Dan, kita akan mulai dari rute mereka, jadi router tur.

43
00:02:06,330 --> 00:02:08,703
‫Dan, kita kemudian perlu membuat rute baru.

44
00:02:09,550 --> 00:02:12,390
‫Dan, mari kita lakukan itu di sini, tepat di atas.

45
00:02:12,390 --> 00:02:16,913
‫Jadi, router. rute.

46
00:02:18,650 --> 00:02:21,370
‫Jadi, bagaimana kita akan menyebut rute ini?

47
00:02:21,370 --> 00:02:25,293
‫Nah, katakanlah top-5-murah.

48
00:02:26,590 --> 00:02:30,010
‫Jadi, nama yang cukup sederhana, tapi itu akan berhasil.

49
00:02:30,010 --> 00:02:31,810
‫Dan kemudian, kami sebenarnya

50
00:02:31,810 --> 00:02:34,103
‫hanya ingin mendapatkan permintaan ke rute ini.

51
00:02:35,170 --> 00:02:37,480
‫Jadi, sekarang saatnya untuk berpikir.

52
00:02:37,480 --> 00:02:41,370
‫Bagaimana kita akan mengimplementasikan fungsi ini?

53
00:02:41,370 --> 00:02:43,530
‫Nah, pada intinya yang kita

54
00:02:43,530 --> 00:02:47,273
‫inginkan sebenarnya tetap mendapatkan semua wisata seperti di sini.

55
00:02:48,210 --> 00:02:51,070
‫Jadi, izinkan saya melanjutkan dan mulai dengan menyalin

56
00:02:51,070 --> 00:02:52,930
‫dan menempelkannya di sini.

57
00:02:52,930 --> 00:02:56,320
‫Jadi, kami benar-benar masih ingin menggunakan fungsi ini di sini

58
00:02:56,320 --> 00:02:57,740
‫karena tidak masuk akal

59
00:02:57,740 --> 00:03:00,900
‫untuk menulis ulang semua logika yang ada di sana.

60
00:03:00,900 --> 00:03:04,010
‫Namun, sebelum kita dapat memanggil route ender ini, pada

61
00:03:04,010 --> 00:03:06,690
‫dasarnya kita ingin mengisi terlebih dahulu beberapa bidang

62
00:03:06,690 --> 00:03:07,833
‫dalam string kueri.

63
00:03:08,970 --> 00:03:10,340
‫Jadi, kita sudah

64
00:03:10,340 --> 00:03:13,590
‫tahu bahwa string kueri kita akan terlihat seperti ini.

65
00:03:13,590 --> 00:03:16,370
‫Dan, sebenarnya kita bisa menambahkan beberapa hal lagi di sini.

66
00:03:16,370 --> 00:03:18,070
‫Namun, pada dasarnya, string

67
00:03:18,070 --> 00:03:19,970
‫kueri kami harus terlihat seperti ini.

68
00:03:19,970 --> 00:03:23,100
‫Jadi, solusinya adalah menjalankan middleware sebelum kita

69
00:03:23,100 --> 00:03:26,163
‫benar-benar menjalankan handler getAllTours ini.

70
00:03:27,080 --> 00:03:28,760
‫Jadi, fungsi middleware

71
00:03:28,760 --> 00:03:31,843
‫itu kemudian akan memanipulasi objek kueri yang masuk.

72
00:03:33,010 --> 00:03:35,210
‫Jadi, ini adalah contoh

73
00:03:35,210 --> 00:03:38,150
‫lain yang sangat bagus dalam menggunakan

74
00:03:38,150 --> 00:03:41,100
‫middleware karena Anda benar-benar harus terbiasa dan

75
00:03:41,100 --> 00:03:44,150
‫terbiasa dengan konsep penggunaan middleware ini secara

76
00:03:44,150 --> 00:03:47,123
‫strategis untuk mengubah objek permintaan sesuai kebutuhan.

77
00:03:48,690 --> 00:03:52,100
‫Jadi, mari kita tambahkan di sini.

78
00:03:52,100 --> 00:03:53,920
‫Jadi, tourController.

79
00:03:53,920 --> 00:03:55,150
‫Dan kemudian,

80
00:03:55,150 --> 00:03:57,630
‫fungsi middleware yang akan kita buat

81
00:03:57,630 --> 00:03:59,733
‫sebentar lagi, yang akan disebut aliasTopTours.

82
00:04:05,060 --> 00:04:08,820
‫Jadi, mari kita salin nama itu, pindah ke tourController dan saya

83
00:04:08,820 --> 00:04:11,843
‫akan meletakkannya di sini di bagian paling atas.

84
00:04:14,100 --> 00:04:15,217
‫Jadi, ekspor. lalu request, response,

85
00:04:17,370 --> 00:04:19,823
‫dan apa argumen ketiga yang kita

86
00:04:21,650 --> 00:04:22,600
‫butuhkan

87
00:04:22,600 --> 00:04:24,030
‫di middleware, ingat?

88
00:04:24,030 --> 00:04:27,180
‫Dan, saya tahu bagian Ekspres agak jauh pada

89
00:04:27,180 --> 00:04:30,700
‫saat ini, tetapi saya harap Anda ingat bahwa argumen ketiga

90
00:04:30,700 --> 00:04:33,280
‫di sini perlu menjadi yang berikutnya.

91
00:04:33,280 --> 00:04:36,230
‫Jadi, untuk memanggil middleware berikutnya yang

92
00:04:36,230 --> 00:04:38,970
‫ada di tumpukan middleware.

93
00:04:38,970 --> 00:04:40,520
‫Berikan simpanan.

94
00:04:45,600 --> 00:04:46,640
‫Jadi, kesalahan ini di sana harus hilang.

95
00:04:46,640 --> 00:04:49,203
‫Jadi, mari kita lakukan apa yang kita katakan akan kita lakukan.

96
00:04:53,554 --> 00:04:55,950
‫Jadi, pada dasarnya untuk

97
00:04:55,950 --> 00:04:58,870
‫memanipulasi objek query sehingga ketika

98
00:04:58,870 --> 00:05:01,960
‫mencapai handler getAllTours, itu sudah berbeda.

99
00:05:01,960 --> 00:05:03,423
‫Jadi, pertama-tama mari kita

100
00:05:04,270 --> 00:05:07,160
‫lakukan itu dan kemudian benar-benar melihat apa yang terjadi.

101
00:05:07,160 --> 00:05:08,783
‫Jadi, ingat, batasnya akan ditetapkan menjadi lima.

102
00:05:10,010 --> 00:05:13,280
‫Dan, ingat bahwa semuanya adalah string di sini dan jadi

103
00:05:13,280 --> 00:05:15,320
‫saya menyetel ini juga ke string.

104
00:05:15,320 --> 00:05:17,370
‫Sekarang, apa lagi yang kita punya?

105
00:05:19,350 --> 00:05:20,703
‫Jadi, kami memiliki semacam

106
00:05:21,580 --> 00:05:25,200
‫ini, jadi mari kita salin ini di sini dan ucapkan req. pertanyaan. menyortir.

107
00:05:26,400 --> 00:05:30,623
‫Seharusnya ini.

108
00:05:32,247 --> 00:05:35,050
‫Dan kemudian, kita sebenarnya juga

109
00:05:35,050 --> 00:05:39,230
‫dapat menentukan beberapa bidang sehingga pengguna tidak mendapatkan semua

110
00:05:39,230 --> 00:05:42,560
‫bidang yang kita miliki di sana.

111
00:05:42,560 --> 00:05:43,660
‫Jadi, katakanlah

112
00:05:46,420 --> 00:05:49,033
‫kita hanya menginginkan nama, harga,

113
00:05:50,070 --> 00:05:52,973
‫rata-rata peringkat, ringkasan, dan tingkat kesulitan.

114
00:05:54,570 --> 00:05:55,653
‫Berikan save

115
00:05:58,650 --> 00:06:02,600
‫dan sekarang yang kita butuhkan adalah selanjutnya, jika tidak middleware ini

116
00:06:02,600 --> 00:06:05,730
‫akan terjebak di sini selamanya dan tidak dapat melanjutkan.

117
00:06:05,730 --> 00:06:07,043
‫Jadi, sekarang mari kita cari tahu

118
00:06:08,440 --> 00:06:10,420
‫sedikit lebih baik apa yang sebenarnya akan terjadi di sini.

119
00:06:10,420 --> 00:06:12,690
‫Jadi, segera setelah

120
00:06:12,690 --> 00:06:16,900
‫seseorang mencapai rute top-5-murah, kami akan mulai.

121
00:06:16,900 --> 00:06:17,733
‫Middleware pertama yang akan dijalankan adalah aliasTopTours.

122
00:06:17,733 --> 00:06:21,470
‫Jadi, fungsi yang baru saja kita buat.

123
00:06:21,470 --> 00:06:23,433
‫Jadi, yang akan dilakukan adalah

124
00:06:25,420 --> 00:06:27,060
‫menyetel properti objek kueri

125
00:06:27,060 --> 00:06:30,070
‫ini ke nilai yang kita tentukan di sini.

126
00:06:30,070 --> 00:06:32,490
‫Pada dasarnya mengisi bagian awal

127
00:06:32,490 --> 00:06:35,800
‫dari objek kueri sebelum kita mencapai handler getAllTours.

128
00:06:35,800 --> 00:06:39,453
‫Jadi, segera setelah kita mendapatkan fungsi ini, objek

129
00:06:40,720 --> 00:06:43,670
‫kueri sudah diisi sebelumnya, bahkan jika pengguna

130
00:06:43,670 --> 00:06:46,080
‫tidak memasukkan parameter ini ke

131
00:06:46,080 --> 00:06:47,960
‫dalam string kueri.

132
00:06:47,960 --> 00:06:49,963
‫Jadi, intinya, apa yang kita

133
00:06:51,230 --> 00:06:52,170
‫lakukan di

134
00:06:52,170 --> 00:06:55,137
‫sini adalah mengisi ulang string kueri untuk pengguna

135
00:06:55,137 --> 00:06:57,650
‫sehingga pengguna tidak harus melakukannya sendiri.

136
00:06:57,650 --> 00:06:59,083
‫Jadi, sekarang mari kita lanjutkan dan coba ini.

137
00:07:01,024 --> 00:07:03,683
‫Jadi, saya menyalin ini.

138
00:07:04,780 --> 00:07:06,003
‫Dan, ini bukan tur.

139
00:07:09,380 --> 00:07:11,090
‫Ini adalah top-5-tur.

140
00:07:11,090 --> 00:07:14,463
‫Wah, apa yang terjadi di sini?

141
00:07:16,710 --> 00:07:18,620
‫Untuk beberapa alasan, tidak

142
00:07:18,620 --> 00:07:21,960
‫menemukan rute ini, jadi mari kita kembali.

143
00:07:21,960 --> 00:07:23,360
‫Jadi, top-5-tur.

144
00:07:23,360 --> 00:07:25,013
‫Jadi, di sini di rute, ah, oke.

145
00:07:26,140 --> 00:07:28,720
‫Ini disebut top-5-murah, jadi kesalahan

146
00:07:28,720 --> 00:07:30,690
‫saya di sini.

147
00:07:30,690 --> 00:07:32,093
‫Jadi, murah,

148
00:07:33,440 --> 00:07:35,780
‫kirim sekarang, dan itu masih salah.

149
00:07:35,780 --> 00:07:38,123
‫Ah, ya.

150
00:07:40,030 --> 00:07:41,110
‫Tentu saja, saya masih harus menempatkan tur di sini, tentu saja.

151
00:07:41,110 --> 00:07:46,110
‫Jadi, kami berada di sumber daya tur dan seluruh router

152
00:07:46,140 --> 00:07:48,300
‫dipasang ke rute tur

153
00:07:48,300 --> 00:07:50,210
‫ini, ingat itu.

154
00:07:50,210 --> 00:07:53,670
‫Jadi, dalam tur itu, aplikasi mini semacam itu,

155
00:07:53,670 --> 00:07:55,430
‫ingatlah, di mana

156
00:07:55,430 --> 00:07:58,140
‫saya membuat 5 rute murah teratas ini.

157
00:07:58,140 --> 00:08:00,723
‫Jadi, semoga berhasil sekarang.

158
00:08:01,790 --> 00:08:03,470
‫Dan memang benar.

159
00:08:03,470 --> 00:08:04,703
‫Jadi, itu berhasil, itu fantastis.

160
00:08:07,350 --> 00:08:11,030
‫Sekarang, tentu saja, kita bisa melakukan lebih banyak

161
00:08:11,030 --> 00:08:15,090
‫lagi alias route di sini, tapi itu tidak terlalu penting.

162
00:08:15,090 --> 00:08:16,740
‫Saya benar-benar hanya ingin menunjukkan

163
00:08:16,740 --> 00:08:19,400
‫kepada Anda konsepnya, menunjukkan kepada Anda bahwa ini bisa

164
00:08:19,400 --> 00:08:21,630
‫menjadi fitur yang bagus untuk ditambahkan ke API

165
00:08:21,630 --> 00:08:25,380
‫apa pun dan saya juga ingin, sekali lagi, menunjukkan kepada Anda kekuatan middlewares.

166
00:08:25,380 --> 00:08:27,933
‫Jadi, kita berbicara tentang luwak di sini, tetapi

167
00:08:29,160 --> 00:08:30,950
‫tetap saja, sangat penting

168
00:08:30,950 --> 00:08:34,360
‫untuk tetap mengenal konsep Express yang telah kita bicarakan sebelumnya.

169
00:08:34,360 --> 00:08:37,513
‫Bagaimanapun, kita sekarang sudah selesai dengan fitur API kita.

170
00:08:39,040 --> 00:08:42,120
‫Di video berikutnya, kita akan dengan cepat memfaktorkan

171
00:08:42,120 --> 00:08:44,950
‫ulang semua ini untuk membuat keseluruhan

172
00:08:44,950 --> 00:08:48,690
‫kode sedikit lebih modular dan, tentu saja, lebih baik.

