﻿1
00:00:01,437 --> 00:00:03,800
‫-: (Laki-laki) Jadi dalam kuliah ini, Anda

2
00:00:03,800 --> 00:00:07,093
‫akan belajar bagaimana menghubungkan beberapa fungsi middleware untuk rute yang sama.

3
00:00:08,490 --> 00:00:11,500
‫Jadi sampai saat ini, setiap kali

4
00:00:11,500 --> 00:00:15,610
‫kami ingin mendefinisikan middleware, kami hanya melewati satu fungsi middleware.

5
00:00:15,610 --> 00:00:19,510
‫Jadi misalnya di sini, untuk menangani permintaan posting ini,

6
00:00:19,510 --> 00:00:22,700
‫kami hanya melewati fungsi middleware ini yang

7
00:00:22,700 --> 00:00:24,930
‫merupakan handler createTour kami.

8
00:00:24,930 --> 00:00:27,400
‫Oke? Dan itulah satu-satunya

9
00:00:27,400 --> 00:00:30,880
‫fungsi yang akan dipanggil setiap kali kita mendapatkan permintaan posting.

10
00:00:30,880 --> 00:00:33,840
‫Benar? Tapi sekarang mari kita katakan

11
00:00:33,840 --> 00:00:35,940
‫bahwa kita ingin benar-benar menjalankan beberapa fungsi middleware.

12
00:00:35,940 --> 00:00:39,280
‫Sekarang Anda mungkin bertanya, "Mengapa kami ingin melakukan itu? ".

13
00:00:39,280 --> 00:00:42,713
‫Yah kita mungkin, misalnya, menjalankan middleware sebelum createTour di

14
00:00:42,713 --> 00:00:45,760
‫sini untuk benar-benar memeriksa data yang masuk ke

15
00:00:45,760 --> 00:00:47,060
‫dalam tubuh.

16
00:00:47,060 --> 00:00:50,490
‫Benar? Jadi sedikit mirip dengan apa yang kita miliki sebelumnya.

17
00:00:50,490 --> 00:00:53,670
‫Jadi kami melakukan pemeriksaan ID middleware ini sebelumnya

18
00:00:53,670 --> 00:00:57,240
‫untuk memeriksa apakah ID tersebut benar-benar valid dan melakukannya

19
00:00:57,240 --> 00:00:59,430
‫di luar penangan rute yang

20
00:00:59,430 --> 00:01:03,140
‫sebenarnya sehingga mereka hanya peduli dengan mendapatkan, memperbarui, atau menghapus

21
00:01:03,140 --> 00:01:04,080
‫tur.

22
00:01:04,080 --> 00:01:07,340
‫Benar? Jadi di sini, dalam contoh khusus dengan

23
00:01:07,340 --> 00:01:09,130
‫post ini, kita mungkin ingin melakukan hal yang sama.

24
00:01:09,130 --> 00:01:12,900
‫Jadi seperti yang saya katakan, kami mungkin ingin memeriksa apakah ada permintaan. sobat sebenarnya berisi

25
00:01:12,900 --> 00:01:16,080
‫data-data yang kita inginkan untuk tour tersebut.

26
00:01:16,080 --> 00:01:18,440
‫Oke? Jadi mari kita lakukan itu.

27
00:01:18,440 --> 00:01:22,020
‫Dan sebenarnya, saya ingin Anda melakukannya sendiri terlebih dahulu.

28
00:01:22,020 --> 00:01:25,240
‫Jadi ini adalah jenis tantangan yang saya ingin Anda selesaikan

29
00:01:25,240 --> 00:01:27,670
‫untuk menggunakan konsep yang telah kita bicarakan

30
00:01:27,670 --> 00:01:30,450
‫berkali-kali pada saat ini dan membuat fungsi middleware

31
00:01:30,450 --> 00:01:31,450
‫Anda sendiri.

32
00:01:32,470 --> 00:01:34,950
‫Jadi izinkan saya menulisnya di sini sebagai komentar.

33
00:01:34,950 --> 00:01:36,160
‫Jadi saya

34
00:01:39,370 --> 00:01:43,060
‫ingin Anda membuat fungsi middleware checkBody dan

35
00:01:43,060 --> 00:01:44,660
‫di sana saya

36
00:01:47,620 --> 00:01:52,620
‫ingin Anda memeriksa apakah body berisi properti nama untuk nama

37
00:01:52,670 --> 00:01:54,770
‫tur dan properti harga.

38
00:01:54,770 --> 00:01:58,020
‫Baiklah? Dan jika tidak, saya ingin Anda mengirim

39
00:01:58,020 --> 00:01:59,590
‫kembali empat ratus kode status.

40
00:01:59,590 --> 00:02:04,000
‫Jika tidak, kirim kembali empat ratus, yang berarti

41
00:02:04,000 --> 00:02:05,630
‫permintaan buruk.

42
00:02:05,630 --> 00:02:09,190
‫Jadi pada dasarnya, permintaan yang tidak valid dari klien,

43
00:02:09,190 --> 00:02:13,060
‫yang dalam hal ini, mencoba membuat tur baru tanpa nama

44
00:02:13,060 --> 00:02:15,090
‫dan tanpa harga properti.

45
00:02:15,090 --> 00:02:16,693
‫Oke! Dan itu sebenarnya.

46
00:02:19,580 --> 00:02:20,640
‫Dan (tertawa) sebenarnya tidak.

47
00:02:20,640 --> 00:02:25,640
‫Jadi saya juga ingin Anda menambahkannya ke tumpukan penangan pos.

48
00:02:28,600 --> 00:02:29,900
‫Pada dasarnya. Oke?

49
00:02:29,900 --> 00:02:31,700
‫Jadi saya ingin Anda menambahkannya di sini.

50
00:02:31,700 --> 00:02:33,430
‫Dan saya akan benar-benar memberitahu Anda

51
00:02:33,430 --> 00:02:35,730
‫bagaimana melakukannya karena kami tidak melakukannya pada saat ini.

52
00:02:35,730 --> 00:02:40,690
‫Jadi sangat mudah. Katakanlah fungsi kita disebut middleware dan

53
00:02:40,690 --> 00:02:43,590
‫yang harus Anda lakukan hanyalah menambahkan fungsi itu

54
00:02:43,590 --> 00:02:46,800
‫di sini sebelum handler createTour yang pada akhirnya akan

55
00:02:46,800 --> 00:02:49,180
‫membuat tur. Oke?

56
00:02:49,180 --> 00:02:53,630
‫Jadi dengan cara ini ketika kita memiliki permintaan posting untuk rute

57
00:02:53,630 --> 00:02:57,334
‫ini, maka middleware ini akan dijalankan terlebih dahulu

58
00:02:57,334 --> 00:02:59,280
‫dan baru kemudian createTour.

59
00:02:59,280 --> 00:03:02,740
‫Oke? Jadi begitulah cara kami menghubungkan dua middleware yang berbeda.

60
00:03:02,740 --> 00:03:06,370
‫Tapi sekarang saya ingin Anda melanjutkan dan membuat middleware ini

61
00:03:06,370 --> 00:03:08,290
‫yang sebenarnya disebut checkBody.

62
00:03:08,290 --> 00:03:11,423
‫Jadi jeda video sekarang dan coba lakukan sendiri.

63
00:03:15,220 --> 00:03:18,920
‫Oke! Jadi saya harap Anda berhasil melakukan

64
00:03:18,920 --> 00:03:21,250
‫itu dan kemudian Anda mengujinya dan semuanya bekerja.

65
00:03:21,250 --> 00:03:24,323
‫Jadi sekarang biarkan saya melanjutkan dan menerapkannya dengan cara saya.

66
00:03:25,800 --> 00:03:28,210
‫Jadi kami memiliki kesalahan ini di sini tetapi jangan khawatir tentang itu.

67
00:03:28,210 --> 00:03:31,083
‫Ini karena middleware ini yang tidak ditentukan.

68
00:03:33,120 --> 00:03:36,553
‫Jadi biarkan saya melakukannya di sini tepat setelah middleware checkID.

69
00:03:38,440 --> 00:03:40,297
‫Jadi ekspor. periksaBody.

70
00:03:44,760 --> 00:03:47,503
‫Kami harus meminta tanggapan dan selanjutnya.

71
00:03:48,510 --> 00:03:51,560
‫Dan sebenarnya cukup sederhana.

72
00:03:51,560 --> 00:03:56,030
‫Jadi jika tidak ada permintaan. tubuh. nama, dan saya

73
00:03:57,050 --> 00:03:59,080
‫pikir itu namanya tetapi mari kita

74
00:03:59,080 --> 00:04:01,070
‫cepat-cepat pergi ke depan dan memeriksanya.

75
00:04:01,070 --> 00:04:03,570
‫Jadi di sini adalah tur sederhana.

76
00:04:03,570 --> 00:04:05,340
‫Ya, dan memang itu disebut 'nama' dan

77
00:04:05,340 --> 00:04:06,790
‫yang lainnya adalah 'harga'.

78
00:04:09,810 --> 00:04:13,420
‫Jadi jika tidak ada request body name atau

79
00:04:13,420 --> 00:04:17,560
‫tidak ada request body. harga baik, dalam

80
00:04:20,440 --> 00:04:24,460
‫hal ini, kami akan, seperti sebelumnya, kembali dari

81
00:04:24,460 --> 00:04:27,163
‫fungsi ini dan mengirim kembali tanggapan.

82
00:04:28,500 --> 00:04:33,500
‫Jadi status di sini adalah ingat: empat ratus tambahkan kemudian

83
00:04:33,610 --> 00:04:37,283
‫beberapa 'json' di mana statusnya gagal.

84
00:04:38,520 --> 00:04:41,560
‫Jadi itu selalu ketika kita memiliki empat ratus kode.

85
00:04:41,560 --> 00:04:42,750
‫Tambahkan kemudian pesan

86
00:04:45,097 --> 00:04:46,180
‫"Nama

87
00:04:47,910 --> 00:04:49,400
‫atau harga tidak ada".

88
00:04:49,400 --> 00:04:53,240
‫Oke? Jadi harga dan nama harus ada di waktu yang sama.

89
00:04:53,240 --> 00:04:57,500
‫Jadi jika harganya tidak ada atau namanya tidak ada maka kami

90
00:04:57,500 --> 00:04:59,993
‫sudah mengirimkan pesan kesalahan ini.

91
00:05:00,830 --> 00:05:04,500
‫Oke? Tetapi jika semuanya benar, maka kami

92
00:05:04,500 --> 00:05:06,283
‫ingin beralih ke middleware berikutnya.

93
00:05:07,864 --> 00:05:09,110
‫Dan itulah yang kami katakan di sini.

94
00:05:09,110 --> 00:05:12,650
‫Dan middleware berikutnya tentu saja createTour.

95
00:05:14,833 --> 00:05:15,666
‫Jadi yang ini.

96
00:05:17,260 --> 00:05:20,750
‫Jadi, mari kita lanjutkan dan tambahkan di sini.

97
00:05:20,750 --> 00:05:22,150
‫Jadi tourController. periksaBody.

98
00:05:25,090 --> 00:05:29,180
‫Baiklah jadi sekarang kesalahannya hilang dan kita harus

99
00:05:29,180 --> 00:05:33,562
‫bisa mengujinya sekarang. Jadi mari kita

100
00:05:33,562 --> 00:05:38,000
‫tutup yang tidak kita minati dan buat tur baru.

101
00:05:38,000 --> 00:05:40,890
‫Jadi saat ini kami memiliki tubuh kami dengan nama, durasi,

102
00:05:40,890 --> 00:05:43,080
‫dan kesulitan tetapi tidak ada harga.

103
00:05:43,080 --> 00:05:46,160
‫Jadi kita sekarang harus mendapatkan kesalahan kita. Benar?

104
00:05:46,160 --> 00:05:50,150
‫Jadi mari kita uji itu. Mengirim. Dan memang, kami memiliki

105
00:05:50,150 --> 00:05:53,630
‫'Nama atau harga yang hilang' dengan empat ratus permintaan buruk kami.

106
00:05:53,630 --> 00:05:57,090
‫Oke? Jadi mari kita menganalisis apa yang terjadi di sini lagi.

107
00:05:57,090 --> 00:06:00,830
‫Jadi permintaan kami mengenai rute ini di sini dan

108
00:06:00,830 --> 00:06:05,360
‫itu adalah permintaan pos. Jadi, ia kemudian menjalankan

109
00:06:05,360 --> 00:06:09,980
‫fungsi middleware ini dan dari fungsi ini, kami kemudian mengirimkan respons

110
00:06:10,830 --> 00:06:15,380
‫eh yang mengatakan bahwa, eh, nama atau harganya tidak ada.

111
00:06:15,380 --> 00:06:17,730
‫Oke? Tapi kalau sekarang tambah harganya... jadi tidak

112
00:06:21,530 --> 00:06:23,730
‫masalah berapa harganya, kirimkan, maka semuanya

113
00:06:23,730 --> 00:06:26,940
‫berfungsi dengan baik dan kami mendapatkan 201 yang dibuat.

114
00:06:26,940 --> 00:06:29,083
‫Jadi apa yang terjadi kali ini? Yah, itu memeriksa tubuh dan kondisi

115
00:06:30,480 --> 00:06:34,380
‫ini tidak benar dan

116
00:06:34,380 --> 00:06:37,650
‫itu disebut middleware berikutnya di tumpukan yang createTour.

117
00:06:37,650 --> 00:06:41,420
‫Jadi itu membuat tur dan mengirim kembali hasilnya

118
00:06:41,420 --> 00:06:44,540
‫dan seperti ini, menyelesaikan siklus permintaan-tanggapan.

119
00:06:44,540 --> 00:06:47,790
‫Benar? Jadi saya harap itu adalah, eh, tantangan kecil yang

120
00:06:47,790 --> 00:06:52,790
‫bagus dan kami akan menggunakan logika

121
00:06:52,930 --> 00:06:56,340
‫semacam ini di sini sepanjang waktu di mana kami menghubungkan

122
00:06:56,340 --> 00:06:59,560
‫beberapa jenis penangan di sini untuk rute yang sama. Jadi misalnya di sini kita bisa memeriksa apakah pengguna

123
00:06:59,560 --> 00:07:02,760
‫tertentu masuk atau apakah

124
00:07:02,760 --> 00:07:06,540
‫dia memiliki hak istimewa, hak akses, bahkan untuk menulis tur baru.

125
00:07:06,540 --> 00:07:10,320
‫Atau benar-benar segala macam hal yang kita inginkan

126
00:07:10,320 --> 00:07:13,300
‫terjadi sebelum tur benar-benar dibuat.

127
00:07:13,300 --> 00:07:15,940
‫Oke? Dan sekali lagi kami melakukannya karena kami ingin mengambil

128
00:07:15,940 --> 00:07:19,100
‫semua logika yang tidak

129
00:07:19,100 --> 00:07:22,360
‫terlalu berkaitan dengan pembuatan sumber daya baru di luar pengendali itu. Sehingga pawang itu hanya benar-benar peduli

130
00:07:22,360 --> 00:07:25,860
‫dengan pekerjaan

131
00:07:25,860 --> 00:07:27,890
‫yang seharusnya dilakukan.

