﻿1
00:00:01,220 --> 00:00:03,030
‫Narratore: Ora miglioriamo l'implementazione

2
00:00:03,030 --> 00:00:06,620
‫del percorso annidato che abbiamo codificato nell'ultima lezione.

3
00:00:06,620 --> 00:00:07,500
‫E

4
00:00:07,500 --> 00:00:11,213
‫per questo, useremo una speciale funzione espressa avanzata.

5
00:00:12,840 --> 00:00:15,070
‫Quindi, come ricorderete,

6
00:00:15,070 --> 00:00:18,920
‫nell'ultimo video abbiamo implementato un semplice percorso di

7
00:00:18,920 --> 00:00:21,860
‫post annidati, quindi solo questo qui.

8
00:00:21,860 --> 00:00:25,240
‫Destra. E quindi questo significa che il percorso

9
00:00:25,240 --> 00:00:27,590
‫di revisione è in qualche modo all'interno del percorso del tour.

10
00:00:27,590 --> 00:00:32,130
‫E ancora, perché le recensioni in un certo senso appartengono ai tour.

11
00:00:32,130 --> 00:00:32,963
‫Destra?

12
00:00:32,963 --> 00:00:36,920
‫E quindi questa è una cosa molto comune da fare nel design API.

13
00:00:36,920 --> 00:00:39,950
‫Ora, il problema con questa implementazione è che è,

14
00:00:39,950 --> 00:00:41,800
‫ovviamente, un po' disordinato.

15
00:00:41,800 --> 00:00:45,420
‫E questo perché abbiamo inserito un percorso per la creazione di

16
00:00:45,420 --> 00:00:47,090
‫una recensione nel tour router.

17
00:00:47,090 --> 00:00:50,430
‫Semplicemente perché un percorso inizia con uno slash tour.

18
00:00:50,430 --> 00:00:51,950
‫Quindi c'è un po'

19
00:00:51,950 --> 00:00:53,500
‫di confusione, e ciò che

20
00:00:53,500 --> 00:00:56,480
‫è anche confuso è che abbiamo qualcosa di molto simile

21
00:00:56,480 --> 00:00:59,160
‫a questo qui, anche nel nostro percorso di revisione.

22
00:00:59,160 --> 00:01:01,203
‫Quindi, fondamentalmente questo qui.

23
00:01:01,203 --> 00:01:04,840
‫Quindi, quando creiamo una nuova recensione senza il percorso annidato,

24
00:01:04,840 --> 00:01:08,450
‫questa parte del codice qui è in realtà esattamente uguale

25
00:01:08,450 --> 00:01:10,600
‫a questa. Destra?

26
00:01:10,600 --> 00:01:12,940
‫E così, oltre a creare un

27
00:01:12,940 --> 00:01:16,020
‫po' di confusione, abbiamo anche un codice duplicato che dovremmo

28
00:01:16,020 --> 00:01:19,910
‫mantenere in due posti separati nel caso in cui volessimo cambiare qualcosa.

29
00:01:19,910 --> 00:01:23,120
‫E così di nuovo, è una pessima pratica.

30
00:01:23,120 --> 00:01:26,600
‫E quindi ora risolviamo questo problema utilizzando una funzione

31
00:01:26,600 --> 00:01:28,410
‫express avanzata chiamata mergeParams.

32
00:01:28,410 --> 00:01:31,270
‫Quindi, prima di tutto, rimuoviamo questo codice

33
00:01:31,270 --> 00:01:34,690
‫qui che in realtà non appartiene al router del tour.

34
00:01:34,690 --> 00:01:38,500
‫Successivamente, importeremo effettivamente il router di revisione

35
00:01:38,500 --> 00:01:40,840
‫in questo tour router.

36
00:01:40,840 --> 00:01:41,740
‫Bene?

37
00:01:41,740 --> 00:01:44,460
‫Quindi in questo momento stiamo importando il controller

38
00:01:44,460 --> 00:01:47,330
‫di revisione, ma in realtà vogliamo il router di revisione.

39
00:01:47,330 --> 00:01:49,220
‫Quindi liberiamoci di questo,

40
00:01:49,220 --> 00:01:51,963
‫e in realtà lo eliminerò del tutto.

41
00:01:53,090 --> 00:01:53,923
‫E

42
00:01:54,960 --> 00:01:55,880
‫ora, il router

43
00:01:57,070 --> 00:01:57,923
‫di revisione.

44
00:02:05,500 --> 00:02:06,333
‫E va bene.

45
00:02:07,410 --> 00:02:12,100
‫Quindi, prendiamo effettivamente questo codice e mettiamolo qui in alto, solo

46
00:02:12,100 --> 00:02:13,480
‫così possiamo

47
00:02:13,480 --> 00:02:15,903
‫vedere cosa stiamo facendo, perché

48
00:02:17,140 --> 00:02:19,730
‫in realtà creeremo del nuovo codice

49
00:02:19,730 --> 00:02:21,620
‫proprio qui in alto.

50
00:02:21,620 --> 00:02:23,560
‫E quindi quello che faremo

51
00:02:23,560 --> 00:02:24,393
‫qui

52
00:02:26,781 --> 00:02:29,270
‫è dire router. uso.

53
00:02:29,270 --> 00:02:32,060
‫E quindi fondamentalmente diremo che questo router dovrebbe

54
00:02:32,060 --> 00:02:33,890
‫utilizzare il router di

55
00:02:33,890 --> 00:02:37,373
‫revisione nel caso in cui incontrasse un percorso come questo.

56
00:02:43,070 --> 00:02:43,903
‫E

57
00:02:46,440 --> 00:02:48,670
‫rivedi i percorsi.

58
00:02:48,670 --> 00:02:50,600
‫L'ho chiamato route o router?

59
00:02:50,600 --> 00:02:52,083
‫Dovrebbe essere chiamato router.

60
00:02:53,630 --> 00:02:54,463
‫Bene?

61
00:02:55,690 --> 00:02:58,010
‫Quindi, tieni presente che un router stesso è

62
00:02:58,010 --> 00:02:59,730
‫in realtà solo un middleware.

63
00:02:59,730 --> 00:03:02,580
‫Quindi possiamo usare il metodo use su di esso,

64
00:03:02,580 --> 00:03:05,200
‫e quindi dire che per questo percorso

65
00:03:05,200 --> 00:03:08,210
‫specifico qui, vogliamo invece usare il router di revisione.

66
00:03:08,210 --> 00:03:09,043
‫Bene?

67
00:03:09,043 --> 00:03:11,890
‫E quindi questo è in realtà di nuovo il montaggio di un router.

68
00:03:11,890 --> 00:03:14,300
‫Quindi, se dai un'occhiata, qui

69
00:03:14,300 --> 00:03:15,870
‫nell'app. js, in

70
00:03:15,870 --> 00:03:18,140
‫realtà è esattamente quello che abbiamo fatto.

71
00:03:18,140 --> 00:03:20,410
‫Così abbiamo fatto. use,

72
00:03:20,410 --> 00:03:22,090
‫quindi l'URL e

73
00:03:22,090 --> 00:03:23,430
‫infine il router.

74
00:03:23,430 --> 00:03:25,040
‫E quindi qui, quello che

75
00:03:25,040 --> 00:03:27,340
‫stiamo facendo è in realtà la stessa identica cosa.

76
00:03:27,340 --> 00:03:30,360
‫Quindi questo è il router del tour, quindi diciamo bene

77
00:03:30,360 --> 00:03:33,250
‫ogni volta che trovi un URL come questo, beh,

78
00:03:33,250 --> 00:03:36,010
‫allora usa semplicemente il router di revisione.

79
00:03:36,010 --> 00:03:40,010
‫E quindi, proprio ora, quando abbiamo un URL come

80
00:03:40,010 --> 00:03:44,700
‫questo, inizierà entrando nel router del tour qui, ok, perché, di

81
00:03:44,700 --> 00:03:47,963
‫nuovo inizia con i tour slash, ok, quindi

82
00:03:48,920 --> 00:03:49,753
‫in

83
00:03:49,753 --> 00:03:52,920
‫pratica viene reindirizzato al router del tour,

84
00:03:52,920 --> 00:03:55,400
‫quindi quando raggiunge il router del

85
00:03:55,400 --> 00:03:57,800
‫tour, quindi corrisponderà a questo

86
00:03:57,800 --> 00:04:02,370
‫URL qui e quindi verrà nuovamente reindirizzato al router di revisione.

87
00:04:02,370 --> 00:04:04,300
‫E in questo modo, abbiamo

88
00:04:04,300 --> 00:04:06,780
‫il router del tour e il router

89
00:04:06,780 --> 00:04:09,300
‫della recensione ben separati e disaccoppiati l'uno dall'altro.

90
00:04:09,300 --> 00:04:12,370
‫Ma ora, in realtà manca ancora un pezzo

91
00:04:12,370 --> 00:04:15,170
‫perché in questo momento questo router di

92
00:04:15,170 --> 00:04:19,410
‫revisione qui non ha accesso a questo parametro dell'id del tour, ok.

93
00:04:19,410 --> 00:04:22,050
‫E quindi ora dobbiamo abilitare il

94
00:04:22,050 --> 00:04:26,200
‫router di revisione per accedere effettivamente a questo parametro anche qui.

95
00:04:26,200 --> 00:04:29,980
‫Quindi passiamo ora al router di revisione, ok.

96
00:04:29,980 --> 00:04:32,180
‫Ed è qui che entra in gioco

97
00:04:33,264 --> 00:04:34,810
‫il mergeParams medico di cui

98
00:04:34,810 --> 00:04:35,943
‫ho parlato all'inizio.

99
00:04:38,030 --> 00:04:40,790
‫Quindi qui, nell'espresso. router, possiamo specificare

100
00:04:40,790 --> 00:04:43,010
‫alcune opzioni e qui tutto

101
00:04:43,010 --> 00:04:45,760
‫ciò che dobbiamo fare è impostare mergeParams

102
00:04:48,160 --> 00:04:49,170
‫su true.

103
00:04:49,170 --> 00:04:50,440
‫E questo è tutto.

104
00:04:50,440 --> 00:04:53,750
‫Ma perché abbiamo davvero bisogno di questo qui?

105
00:04:53,750 --> 00:04:55,780
‫Bene, è perché, per

106
00:04:55,780 --> 00:04:57,850
‫impostazione predefinita, ogni router ha

107
00:04:57,850 --> 00:05:01,780
‫accesso solo ai parametri dei suoi percorsi specifici, giusto.

108
00:05:01,780 --> 00:05:06,720
‫Ma qui, in questo percorso, quindi in questo URL per questo

109
00:05:06,720 --> 00:05:09,930
‫post, ovviamente non c'è nessun ID tour.

110
00:05:09,930 --> 00:05:12,630
‫Ma vogliamo ancora ottenere l'accesso all'id

111
00:05:12,630 --> 00:05:16,050
‫del tour che era in questo altro router, giusto.

112
00:05:16,050 --> 00:05:17,430
‫Quindi questo qui.

113
00:05:17,430 --> 00:05:20,420
‫Quindi, per accedere a quel parametro

114
00:05:20,420 --> 00:05:21,910
‫in questo

115
00:05:21,910 --> 00:05:25,570
‫altro router, dobbiamo unire fisicamente i parametri, ok.

116
00:05:25,570 --> 00:05:29,270
‫E questo è ciò che fa mergeParams, impostato su true.

117
00:05:29,270 --> 00:05:32,663
‫E quindi ora, non importa se otteniamo un percorso

118
00:05:34,310 --> 00:05:36,853
‫come questo, quindi copiamolo qui, di

119
00:05:38,270 --> 00:05:41,383
‫nuovo è più facile visualizzarlo con un esempio.

120
00:05:42,280 --> 00:05:45,647
‫E così di nuovo, non importa se otteniamo una

121
00:05:48,380 --> 00:05:49,840
‫via come questa,

122
00:05:49,840 --> 00:05:54,530
‫o una via come questa, ora finirà tutto in questo gestore qui, ok.

123
00:05:54,530 --> 00:05:58,130
‫Quindi, alla fine, fondamentalmente a questa funzione di gestore.

124
00:05:58,130 --> 00:06:01,060
‫E di nuovo funziona perché tutti i

125
00:06:01,060 --> 00:06:03,710
‫percorsi che iniziano con questo tipo

126
00:06:03,710 --> 00:06:06,720
‫di schema qui verranno reindirizzati a questo router

127
00:06:06,720 --> 00:06:09,960
‫esattamente in questa riga di codice qui, ok.

128
00:06:09,960 --> 00:06:13,220
‫Quindi abbiamo reindirizzato al router di revisione

129
00:06:13,220 --> 00:06:17,600
‫qui e quindi lì dentro corrisponderà a questo percorso esatto,

130
00:06:17,600 --> 00:06:18,433
‫ok.

131
00:06:18,433 --> 00:06:19,990
‫E grazie ai parametri

132
00:06:19,990 --> 00:06:22,310
‫di unione, otteniamo quindi l'accesso a

133
00:06:22,310 --> 00:06:25,700
‫questo ID che in realtà proviene dall'altro router precedente.

134
00:06:25,700 --> 00:06:26,940
‫Grande.

135
00:06:26,940 --> 00:06:28,843
‫Quindi facciamo un po' di

136
00:06:29,870 --> 00:06:31,323
‫pulizia qui, in realtà

137
00:06:32,260 --> 00:06:33,143
‫sbarazziamoci di

138
00:06:34,230 --> 00:06:35,063
‫questo,

139
00:06:36,310 --> 00:06:38,560
‫questo qui, e proviamolo velocemente ora.

140
00:06:38,560 --> 00:06:40,940
‫Quindi creerò una nuova recensione qui e

141
00:06:42,100 --> 00:06:44,143
‫proveremo un altro strumento questa volta.

142
00:06:47,180 --> 00:06:48,533
‫Quindi il vagabondo di città.

143
00:06:51,160 --> 00:06:52,990
‫E tutto ciò che

144
00:06:52,990 --> 00:06:57,030
‫dobbiamo fare è cambiare quell'id proprio qui nell'URL, giusto.

145
00:06:57,030 --> 00:07:00,250
‫Quindi, il punteggio sarà

146
00:07:00,250 --> 00:07:01,083
‫tre,

147
00:07:03,570 --> 00:07:07,190
‫e poi andava bene così.

148
00:07:07,190 --> 00:07:10,943
‫Va bene, quindi questa recensione sarà ancora fatta

149
00:07:11,960 --> 00:07:14,940
‫con Jonas, quindi da questo account, ok,

150
00:07:14,940 --> 00:07:16,300
‫perché è

151
00:07:16,300 --> 00:07:20,890
‫ancora quello che è ancora connesso in questo momento, ok.

152
00:07:20,890 --> 00:07:21,963
‫Quindi, inviamo

153
00:07:23,160 --> 00:07:26,900
‫quello, e infatti qui otteniamo il tour che abbiamo appena specificato,

154
00:07:26,900 --> 00:07:28,383
‫e sempre lo stesso utente.

155
00:07:30,110 --> 00:07:34,710
‫Quindi è di nuovo solo per assicurarti di controllare il tour

156
00:07:34,710 --> 00:07:37,110
‫per vedere se ora riceve questa

157
00:07:37,110 --> 00:07:39,500
‫recensione e sì, l'ha fatto.

158
00:07:39,500 --> 00:07:42,710
‫E così quel trucco dei parametri di unione, che

159
00:07:42,710 --> 00:07:44,650
‫abbiamo appena implementato, in realtà funziona

160
00:07:44,650 --> 00:07:46,280
‫bene e come previsto.

161
00:07:46,280 --> 00:07:48,790
‫Ora per vederlo in azione, ancora meglio,

162
00:07:48,790 --> 00:07:50,560
‫adatteremo la funzione henry per

163
00:07:50,560 --> 00:07:53,420
‫ottenere tutte le recensioni per un tour specifico

164
00:07:53,420 --> 00:07:54,793
‫nel prossimo video.

