﻿1
00:00:01,350 --> 00:00:03,520
‫Jonas: Ora implementiamo un gestore di route

2
00:00:03,520 --> 00:00:07,750
‫per le richieste di posta in modo da poter effettivamente aggiungere un Natour al

3
00:00:07,750 --> 00:00:09,023
‫nostro set di dati.

4
00:00:10,470 --> 00:00:12,870
‫Quindi, proprio come con il gestore

5
00:00:12,870 --> 00:00:15,350
‫di richieste doGET(), iniziamo aggiungendo un nuovo percorso.

6
00:00:15,350 --> 00:00:19,220
‫Quindi app. post questa volta, e ricorda

7
00:00:19,220 --> 00:00:22,120
‫che ora usiamo post so il metodo post

8
00:00:22,120 --> 00:00:26,140
‫qui, perché questo è il tipo di richiesta che vogliamo gestire.

9
00:00:26,140 --> 00:00:30,263
‫Quindi le richieste che vengono fatte con il verbo post http giusto?

10
00:00:32,483 --> 00:00:33,316
‫V1

11
00:00:34,610 --> 00:00:35,960
‫e tour.

12
00:00:35,960 --> 00:00:39,690
‫Proprio come abbiamo detto nella lezione sull'API REST, l'URL

13
00:00:39,690 --> 00:00:42,363
‫è in realtà esattamente lo stesso.

14
00:00:43,390 --> 00:00:46,290
‫Non importa se vogliamo ottenere tutti i tour

15
00:00:46,290 --> 00:00:48,800
‫o se vogliamo creare un nuovo tour,

16
00:00:48,800 --> 00:00:50,650
‫l'URL è esattamente lo stesso.

17
00:00:50,650 --> 00:00:53,780
‫Quindi l'unica cosa che cambia è il metodo http

18
00:00:53,780 --> 00:00:56,363
‫che abbiamo usato per fare queste richieste.

19
00:00:57,592 --> 00:01:01,420
‫Per ottenere tutti i tour e postare per creare un

20
00:01:01,420 --> 00:01:04,337
‫nuovo tour, quindi qui, la nostra tipica

21
00:01:04,337 --> 00:01:06,906
‫funzione di call-back in cui otteniamo

22
00:01:06,906 --> 00:01:10,810
‫l'accesso alla richiesta e all'oggetto di risposta in modo da poter

23
00:01:10,810 --> 00:01:14,560
‫ottenere alcuni dati dalla richiesta e inviare un appropriato risposta.

24
00:01:14,560 --> 00:01:16,800
‫Ora ricorda che con una

25
00:01:16,800 --> 00:01:20,790
‫richiesta post, possiamo inviare dati dal client al server, giusto?

26
00:01:20,790 --> 00:01:24,543
‫Questi dati sono quindi idealmente disponibili su richiesta.

27
00:01:25,690 --> 00:01:28,970
‫L'oggetto della richiesta è di nuovo ciò che contiene tutti i

28
00:01:28,970 --> 00:01:32,240
‫dati, tutte le informazioni, sulla richiesta che è stata fatta.

29
00:01:32,240 --> 00:01:35,190
‫Se quella richiesta contiene alcuni dati che

30
00:01:35,190 --> 00:01:38,840
‫sono stati inviati, quei dati dovrebbero essere sulla richiesta, giusto?

31
00:01:38,840 --> 00:01:42,890
‫Ora, fuori dagli schemi, Express non inserisce i dati del

32
00:01:42,890 --> 00:01:46,670
‫corpo nella richiesta e, per avere quei dati disponibili,

33
00:01:46,670 --> 00:01:49,176
‫dobbiamo usare qualcosa chiamato middleware.

34
00:01:49,176 --> 00:01:52,100
‫Parleremo in dettaglio del middleware in un

35
00:01:52,100 --> 00:01:54,220
‫paio di lezioni, ma per

36
00:01:54,220 --> 00:01:56,280
‫ora, per farlo funzionare,

37
00:01:56,280 --> 00:01:59,943
‫dobbiamo includere un semplice middleware qui all'inizio del file.

38
00:02:01,860 --> 00:02:04,000
‫Quindi, in realtà, proprio qui.

39
00:02:04,000 --> 00:02:09,370
‫Quello che dobbiamo fare è dire app. usa quindi esprimi.

40
00:02:12,687 --> 00:02:13,520
‫json Va bene, e basta.

41
00:02:14,490 --> 00:02:16,030
‫Quindi di nuovo, questo [express. json] ecco il middleware.

42
00:02:16,030 --> 00:02:20,480
‫E il middleware è fondamentalmente una

43
00:02:20,480 --> 00:02:23,510
‫funzione che può modificare i dati della richiesta in entrata.

44
00:02:23,510 --> 00:02:25,560
‫Si chiama middleware perché sta nel

45
00:02:25,560 --> 00:02:28,370
‫mezzo, quindi nel mezzo della richiesta e della risposta.

46
00:02:28,370 --> 00:02:31,390
‫È solo un passaggio che la

47
00:02:31,390 --> 00:02:34,030
‫richiesta viene eseguita durante l'elaborazione.

48
00:02:34,030 --> 00:02:35,830
‫E il passaggio attraverso cui passano le richieste,

49
00:02:35,830 --> 00:02:38,440
‫in questo esempio, è semplicemente che i dati dal corpo vengono aggiunti ad esso.

50
00:02:38,440 --> 00:02:42,330
‫Quindi viene aggiunto all'oggetto richiesta utilizzando

51
00:02:42,330 --> 00:02:44,410
‫questo middleware.

52
00:02:44,410 --> 00:02:45,963
‫Usiamo app. use per usare il middleware come questo.

53
00:02:47,560 --> 00:02:51,763
‫E ancora, parleremo molto di più del

54
00:02:52,870 --> 00:02:55,250
‫middleware un po' più avanti in questa sezione.

55
00:02:55,250 --> 00:02:57,540
‫Per ora, sappi solo che questo è il modo in cui usiamo il middleware.

56
00:02:57,540 --> 00:03:00,703
‫Tutti i dettagli seguiranno poi in seguito.

57
00:03:01,750 --> 00:03:04,110
‫Quindi per ora, solo per iniziare,

58
00:03:04,110 --> 00:03:07,307
‫voglio mostrarti i dati dal corpo nella console, solo

59
00:03:07,307 --> 00:03:09,830
‫per verificare che funzioni effettivamente, quindi req. corpo.

60
00:03:09,830 --> 00:03:14,830
‫Di nuovo, il corpo è

61
00:03:14,920 --> 00:03:17,960
‫la proprietà che sarà disponibile su richiesta, perché

62
00:03:17,960 --> 00:03:21,130
‫abbiamo usato quel middleware un paio di momenti fa.

63
00:03:21,130 --> 00:03:22,393
‫Quindi vogliamo log[req. body] alla console e

64
00:03:23,560 --> 00:03:27,090
‫quindi dobbiamo anche inviare una risposta.

65
00:03:27,090 --> 00:03:29,600
‫Quindi ris. invia e per ora solo qualche segnaposto qui.

66
00:03:29,600 --> 00:03:34,083
‫"Fatto" va bene.

67
00:03:35,870 --> 00:03:37,020
‫Quindi abbiamo

68
00:03:37,020 --> 00:03:39,070
‫sempre bisogno di restituire qualcosa per

69
00:03:39,070 --> 00:03:42,600
‫completare il cosiddetto ciclo di richiesta/risposta, di cui impareremo un po'

70
00:03:42,600 --> 00:03:44,980
‫di più più avanti in questa sezione.

71
00:03:44,980 --> 00:03:46,530
‫Quindi ora proviamo questo

72
00:03:46,530 --> 00:03:49,363
‫e creiamo una nuova richiesta per il post.

73
00:03:49,363 --> 00:03:51,200
‫Ora qui in postino, possiamo fare

74
00:03:51,200 --> 00:03:53,680
‫qualcosa di veramente carino, ovvero salvare tutte queste richieste.

75
00:03:53,680 --> 00:03:56,133
‫Inizierò creando una

76
00:03:58,180 --> 00:04:01,200
‫nuova collezione, che chiamerò Natours.

77
00:04:01,200 --> 00:04:02,500
‫Nuova collezione.

78
00:04:06,570 --> 00:04:07,600
‫Ora salverò questa richiesta all'interno di quella raccolta.

79
00:04:07,600 --> 00:04:10,793
‫Quindi questo è Ottieni tutti i tour.

80
00:04:12,650 --> 00:04:14,573
‫Mettilo in Natours e salva.

81
00:04:17,380 --> 00:04:20,290
‫Quindi ora abbiamo le nostre richieste Get proprio qui.

82
00:04:20,290 --> 00:04:23,563
‫Bene, ora copiamo questo qui, creiamone

83
00:04:26,070 --> 00:04:27,410
‫uno nuovo.

84
00:04:27,410 --> 00:04:28,583
‫Quindi questa è una richiesta di posta.

85
00:04:30,120 --> 00:04:31,970
‫Prima di farlo,

86
00:04:31,970 --> 00:04:35,330
‫lo salverò anche direttamente in questa raccolta.

87
00:04:35,330 --> 00:04:36,853
‫Quindi crea un nuovo tour.

88
00:04:38,080 --> 00:04:41,083
‫Qui sul lato sinistro, ora abbiamo entrambe le nostre richieste.

89
00:04:43,443 --> 00:04:47,733
‫Ora specifichiamo effettivamente il nostro corpo qui, quindi i

90
00:04:49,070 --> 00:04:52,620
‫dati che fondamentalmente vogliamo inviare al server.

91
00:04:52,620 --> 00:04:56,550
‫Veniamo qui a Body e ora ci sono diversi modi

92
00:04:56,550 --> 00:04:59,370
‫per farlo, ma il più semplice

93
00:04:59,370 --> 00:05:02,250
‫è semplicemente dire Raw, e poi Application JSON.

94
00:05:02,250 --> 00:05:06,260
‫Tutto ciò che dobbiamo fare qui è sostanzialmente specificare alcuni

95
00:05:06,260 --> 00:05:09,470
‫JSON e questo verrà quindi trasmesso al server.

96
00:05:09,470 --> 00:05:12,180
‫Quindi la prima cosa che vogliamo specificare

97
00:05:12,180 --> 00:05:13,760
‫è il nome del

98
00:05:13,760 --> 00:05:17,150
‫Tour, e ti ricordi che in JSON, tutto deve essere

99
00:05:17,150 --> 00:05:20,550
‫tra virgolette e in realtà virgolette doppie, non solo virgolette.

100
00:05:20,550 --> 00:05:21,873
‫Consentitemi di chiamare questo

101
00:05:22,810 --> 00:05:26,040
‫tour di prova e diamo un'occhiata a cos'altro abbiamo nei dati del tour.

102
00:05:26,040 --> 00:05:29,343
‫Quindi abbiamo il nome, abbiamo la durata, e

103
00:05:30,550 --> 00:05:32,850
‫mettiamo anche la difficoltà.

104
00:05:32,850 --> 00:05:35,033
‫Quindi non ho intenzione di specificare tutti questi

105
00:05:37,260 --> 00:05:38,720
‫perché richiede troppo tempo.

106
00:05:38,720 --> 00:05:40,893
‫Diciamo solo che la durata

107
00:05:42,500 --> 00:05:45,870
‫è di 10 giorni e la difficoltà è

108
00:05:45,870 --> 00:05:46,890
‫facile.

109
00:05:50,250 --> 00:05:51,483
‫Che come il nostro corpo verrà trasmesso al server.

110
00:05:52,800 --> 00:05:57,290
‫Quindi questo è stato testato ora, premendo invio e qui riceviamo

111
00:05:57,290 --> 00:06:00,550
‫la nostra risposta, che è fatta, ricorda.

112
00:06:00,550 --> 00:06:03,500
‫Ecco la risposta che abbiamo inviato, così fatto.

113
00:06:07,104 --> 00:06:09,520
‫E vedi che qui nella nostra console,

114
00:06:09,520 --> 00:06:11,700
‫ora abbiamo un oggetto che è

115
00:06:11,700 --> 00:06:15,153
‫fondamentalmente il JSON che abbiamo inviato nel nostro corpo, giusto?

116
00:06:15,153 --> 00:06:17,750
‫Così perfetto, funziona!

117
00:06:17,750 --> 00:06:19,600
‫Non è più JSON, come puoi vedere.

118
00:06:19,600 --> 00:06:21,170
‫È veramente un oggetto JavaScript.

119
00:06:21,170 --> 00:06:23,860
‫Solo per mostrarti che avevamo

120
00:06:23,860 --> 00:06:27,000
‫davvero bisogno del middleware, commentiamo questo.

121
00:06:27,000 --> 00:06:28,350
‫Inviarlo di nuovo.

122
00:06:30,190 --> 00:06:31,688
‫Ora non hanno più la richiesta. corpo, giusto?

123
00:06:31,688 --> 00:06:36,160
‫Ecco perché ora è indefinito, perché non esiste più.

124
00:06:36,160 --> 00:06:39,093
‫Salvalo, invia di nuovo la

125
00:06:40,440 --> 00:06:44,030
‫nostra richiesta e così ora è tornato.

126
00:06:44,030 --> 00:06:45,403
‫Abbiamo impostato il nostro

127
00:06:48,220 --> 00:06:51,510
‫percorso di post, ora funziona e abbiamo anche accesso al corpo,

128
00:06:51,510 --> 00:06:53,810
‫quindi quello che vogliamo fare ora è effettivamente

129
00:06:53,810 --> 00:06:56,830
‫mantenere quei dati in questo semplice file JSON del tour.

130
00:06:56,830 --> 00:07:00,680
‫In realtà modificheremo questo file, in modo che i dati

131
00:07:00,680 --> 00:07:04,090
‫vengano salvati nel nostro database fittizio qui.

132
00:07:04,090 --> 00:07:07,500
‫Questo file JSON in questo momento funziona come

133
00:07:07,500 --> 00:07:09,820
‫il nostro database fittizio.

134
00:07:09,820 --> 00:07:11,623
‫Quindi ora occupiamoci di questo.

135
00:07:12,850 --> 00:07:15,810
‫Vado avanti e commento questo.

136
00:07:15,810 --> 00:07:18,063
‫Quindi iniziamo.

137
00:07:19,250 --> 00:07:20,650
‫La prima cosa che

138
00:07:20,650 --> 00:07:23,440
‫dobbiamo fare è capire l'id del nuovo oggetto.

139
00:07:23,440 --> 00:07:25,240
‫Ricorda, ancora nella lezione

140
00:07:25,240 --> 00:07:28,720
‫sulle API REST, che quando creiamo un nuovo oggetto,

141
00:07:28,720 --> 00:07:30,570
‫non specifichiamo mai l'id dell'oggetto.

142
00:07:30,570 --> 00:07:33,200
‫Il database di solito si occupa di questo.

143
00:07:33,200 --> 00:07:35,623
‫Un nuovo oggetto di solito ottiene automaticamente il suo nuovo id.

144
00:07:36,980 --> 00:07:40,470
‫Bene, in questo caso, non abbiamo alcun database, quindi quello

145
00:07:40,470 --> 00:07:42,840
‫che faremo è semplicemente prendere

146
00:07:42,840 --> 00:07:46,020
‫l'id dell'ultimo oggetto e quindi aggiungere +1 a quello.

147
00:07:46,020 --> 00:07:48,833
‫Facciamolo molto velocemente, e questo è solo JavaScript

148
00:07:50,020 --> 00:07:51,010
‫di base.

149
00:07:51,010 --> 00:07:53,440
‫Quindi newId è tour, giusto?

150
00:07:53,440 --> 00:07:57,740
‫Ricorda che tour, abbiamo già i dati

151
00:07:57,740 --> 00:08:01,160
‫in questa variabile tour.

152
00:08:01,160 --> 00:08:02,673
‫Quindi questo è un

153
00:08:03,800 --> 00:08:06,500
‫array di tutti gli oggetti tour, e quindi vogliamo

154
00:08:06,500 --> 00:08:08,313
‫ottenere l'ultimo, che è tour. length - 1, quindi la

155
00:08:09,150 --> 00:08:13,410
‫proprietà id di quella e aggiungiamo + 1.

156
00:08:13,410 --> 00:08:17,220
‫Quindi questo è il nuovo ID.

157
00:08:17,220 --> 00:08:18,823
‫Successivamente, creiamo un nuovo tour

158
00:08:21,533 --> 00:08:23,033
‫e quel tour sarà

159
00:08:23,950 --> 00:08:28,070
‫fondamentalmente il corpo che inviamo più il nuovo id che abbiamo appena creato.

160
00:08:28,070 --> 00:08:30,863
‫Quindi possiamo usare oggetto. assegnare, che sostanzialmente ci permette

161
00:08:31,950 --> 00:08:36,730
‫di creare un nuovo

162
00:08:36,730 --> 00:08:40,070
‫oggetto unendo due oggetti esistenti insieme.

163
00:08:40,070 --> 00:08:41,130
‫Quindi il

164
00:08:41,130 --> 00:08:43,300
‫primo oggetto sarà id=newId,

165
00:08:43,300 --> 00:08:44,920
‫e poi vogliamo

166
00:08:48,270 --> 00:08:49,200
‫request. corpo.

167
00:08:51,140 --> 00:08:52,353
‫Potremmo anche aver fatto req. corpo. id=newId, ma

168
00:08:54,330 --> 00:08:58,730
‫non volevo mutare l'oggetto corpo originale.

169
00:09:00,250 --> 00:09:03,503
‫L'ho lasciato così.

170
00:09:04,740 --> 00:09:06,323
‫Questo è il nuovo tour, e

171
00:09:08,564 --> 00:09:11,720
‫ora quello che vogliamo fare è inserire questo tour nell'elenco dei tour, giusto?

172
00:09:11,720 --> 00:09:16,120
‫Quindi tour, è la serie dei nove tour

173
00:09:16,120 --> 00:09:19,130
‫che abbiamo a questo punto.

174
00:09:19,130 --> 00:09:20,330
‫Diciamo spingi e spingi il nuovo tour lì dentro.

175
00:09:20,330 --> 00:09:25,163
‫Questo è l'array che ora contiene il nuovo tour, ma

176
00:09:27,880 --> 00:09:31,500
‫ovviamente ora dobbiamo mantenerlo nel file.

177
00:09:31,500 --> 00:09:35,110
‫Anche in questo caso è abbastanza facile per te

178
00:09:35,110 --> 00:09:37,855
‫a questo punto, quindi usa fs. scrivere file.

179
00:09:37,855 --> 00:09:41,840
‫Quindi quale dovremmo usare?

180
00:09:41,840 --> 00:09:43,390
‫writeFile o writeFileSync?

181
00:09:43,390 --> 00:09:46,540
‫La risposta è molto semplice.

182
00:09:47,570 --> 00:09:50,070
‫Siamo all'interno di una funzione di call-back, che

183
00:09:50,070 --> 00:09:52,010
‫verrà eseguita nel ciclo degli eventi.

184
00:09:52,010 --> 00:09:54,430
‫Non possiamo mai, mai bloccare il ciclo degli eventi.

185
00:09:54,430 --> 00:09:57,180
‫Quello che faremo è usare

186
00:09:57,180 --> 00:10:00,030
‫writeFile e non Sync in questo.

187
00:10:00,030 --> 00:10:01,720
‫Vogliamo passare una funzione di call-back

188
00:10:01,720 --> 00:10:03,820
‫che verrà elaborata in background e non

189
00:10:03,820 --> 00:10:05,800
‫appena sarà pronta, inserirà il suo evento

190
00:10:05,800 --> 00:10:07,160
‫in una delle

191
00:10:07,160 --> 00:10:10,810
‫code del ciclo di eventi, che verrà quindi gestita non appena il ciclo

192
00:10:10,810 --> 00:10:12,180
‫di eventi passa quella fase.

193
00:10:12,180 --> 00:10:14,760
‫Ricordi quello dalla lezione di Event Loop?

194
00:10:14,760 --> 00:10:17,360
‫Ad ogni modo, prendiamo il nome

195
00:10:17,360 --> 00:10:21,080
‫del file da qui, perché sovrascriveremo davvero questo file

196
00:10:21,080 --> 00:10:23,650
‫in modo che quando riavvieremo questo

197
00:10:23,650 --> 00:10:25,270
‫server, sarà lì.

198
00:10:25,270 --> 00:10:26,823
‫Quindi

199
00:10:28,040 --> 00:10:30,101
‫dove- proprio qui.

200
00:10:30,101 --> 00:10:31,018
‫Quindi questo è il file in cui vogliamo scrivere.

201
00:10:31,937 --> 00:10:35,246
‫I dati che vogliamo scrivere, che sono tour, e quindi

202
00:10:35,246 --> 00:10:37,733
‫la nostra funzione di call-back, che in questo

203
00:10:39,040 --> 00:10:40,760
‫caso ha solo l'errore.

204
00:10:40,760 --> 00:10:43,203
‫Qui ho appena notato

205
00:10:46,040 --> 00:10:49,890
‫che dobbiamo stringere anche questo oggetto, giusto?

206
00:10:49,890 --> 00:10:51,580
‫Vogliamo json in questo

207
00:10:51,580 --> 00:10:53,680
‫file JSON, e questo in questo momento

208
00:10:53,680 --> 00:10:57,020
‫è solo un normale oggetto JavaScript e quindi dobbiamo convertirlo.

209
00:10:57,020 --> 00:10:58,580
‫Ma questo è di nuovo semplice, l'ho già fatto.

210
00:10:58,580 --> 00:11:02,320
‫JSON. stringa dell'oggetto.

211
00:11:05,510 --> 00:11:06,343
‫Cosa vogliamo fare non appena il file è scritto?

212
00:11:07,930 --> 00:11:11,760
‫Bene, quello che facciamo di solito è inviare l'oggetto appena

213
00:11:11,760 --> 00:11:13,340
‫creato come risposta.

214
00:11:13,340 --> 00:11:16,683
‫Facciamolo.

215
00:11:17,670 --> 00:11:18,600
‫Quindi risposta,

216
00:11:18,600 --> 00:11:21,650
‫e quindi come sempre, iniziamo specificando il codice di stato.

217
00:11:21,650 --> 00:11:23,340
‫In questo caso, non sarà un 200, ma un 201.

218
00:11:23,340 --> 00:11:26,483
‫Quindi 201 che significa creato.

219
00:11:27,400 --> 00:11:30,190
‫200 sta per okay, 201 sta

220
00:11:30,190 --> 00:11:34,090
‫per creato, che è esattamente quello che è successo qui.

221
00:11:34,090 --> 00:11:36,260
‫Abbiamo creato una nuova risorsa su un server.

222
00:11:36,260 --> 00:11:38,513
‫Quindi JSON, e continua ad aggiungere questo messaggio qui.

223
00:11:41,260 --> 00:11:45,873
‫Lo stato è di nuovo, il successo.

224
00:11:48,240 --> 00:11:50,993
‫Non sto usando la proprietà dei risultati

225
00:11:52,500 --> 00:11:56,770
‫qui, che avevamo prima, perché ora sto inviando solo un risultato.

226
00:11:56,770 --> 00:11:59,263
‫I dati sono la nostra busta qui.

227
00:12:00,651 --> 00:12:02,203
‫Il tour è un nuovo tour.

228
00:12:04,100 --> 00:12:09,100
‫Questo è tutto!

229
00:12:09,230 --> 00:12:10,063
‫Salvalo qui

230
00:12:10,063 --> 00:12:12,660
‫e così formattalo o codifica un po '.

231
00:12:12,660 --> 00:12:14,260
‫Aggiungiamo un po' più di spazio qui.

232
00:12:14,260 --> 00:12:15,933
‫Penso che ora siamo pronti per fare un tentativo.

233
00:12:18,480 --> 00:12:20,533
‫Possiamo effettivamente creare un nuovo tour, utilizzando questi dati qui.

234
00:12:23,180 --> 00:12:26,273
‫Quindi aggiusta questo Test Tour, e con

235
00:12:28,600 --> 00:12:30,440
‫questi dati, e aspettiamo.

236
00:12:30,440 --> 00:12:32,540
‫Cos'è successo qua?

237
00:12:33,670 --> 00:12:34,620
‫Vediamo, ah ok.

238
00:12:35,780 --> 00:12:37,000
‫Abbiamo un problema per cui abbiamo inviato una risposta due volte sostanzialmente.

239
00:12:37,000 --> 00:12:40,733
‫Quindi abbiamo inviato una risposta con JSON e

240
00:12:40,733 --> 00:12:43,320
‫poi di nuovo con . Inviare.

241
00:12:43,320 --> 00:12:45,530
‫Non è permesso.

242
00:12:45,530 --> 00:12:46,620
‫Questo è il motivo per cui riceviamo questo errore qui.

243
00:12:46,620 --> 00:12:48,990
‫Quindi è davvero bello che sia successo qui, in modo che tu

244
00:12:48,990 --> 00:12:50,622
‫sappia cosa significa questo errore standard qui.

245
00:12:50,622 --> 00:12:54,871
‫HTTP_HEADERS_SENT non può impostare le intestazioni dopo che

246
00:12:54,871 --> 00:12:58,330
‫sono state inviate al client.

247
00:12:58,330 --> 00:12:59,163
‫Ciò accade quando provi a inviare due risposte.

248
00:12:59,163 --> 00:13:02,483
‫Dobbiamo liberarci di questo.

249
00:13:04,642 --> 00:13:06,540
‫Sì, è stato l'unico errore che abbiamo avuto.

250
00:13:10,030 --> 00:13:12,163
‫Ora dovrebbe risolverlo.

251
00:13:14,350 --> 00:13:16,390
‫Provaci.

252
00:13:16,390 --> 00:13:17,313
‫E infatti, ci siamo.

253
00:13:19,410 --> 00:13:21,190
‫Quindi abbiamo il nostro id

254
00:13:21,190 --> 00:13:24,941
‫di 10, che il nostro codice ha creato per noi, e poi l'intero

255
00:13:24,941 --> 00:13:28,930
‫tour che sono esattamente i dati che abbiamo inviato come corpo nella nostra richiesta.

256
00:13:28,930 --> 00:13:32,353
‫Ora il fatto è che quando avremo tutti

257
00:13:33,850 --> 00:13:36,900
‫i tour qui, non apparirà ancora.

258
00:13:36,900 --> 00:13:38,363
‫Se scendiamo qui, in realtà

259
00:13:39,480 --> 00:13:40,933
‫è già qui.

260
00:13:42,520 --> 00:13:44,770
‫Abbiamo quello di prima, quindi quando abbiamo avuto quell'errore,

261
00:13:44,770 --> 00:13:46,984
‫in realtà ha creato anche questo tour qui.

262
00:13:46,984 --> 00:13:50,830
‫Poi, ovviamente, il tour che abbiamo creato con l'id 10.

263
00:13:50,830 --> 00:13:54,000
‫Quindi questo tour qui è esattamente questo che

264
00:13:54,000 --> 00:13:56,180
‫è stato creato proprio ora.

265
00:13:56,180 --> 00:13:57,530
‫Se lo facciamo ora, Test Tour 2, con la durata di appena 5.

266
00:13:58,370 --> 00:14:03,370
‫Proviamo con questo, e se riesco a fare tutti i tour, allora

267
00:14:03,890 --> 00:14:05,580
‫compare anche qui.

268
00:14:05,580 --> 00:14:10,550
‫Ho detto all'inizio che non avrebbe funzionato, quindi non sarebbe apparso

269
00:14:10,550 --> 00:14:12,246
‫subito, perché funziona

270
00:14:12,246 --> 00:14:14,760
‫solo se riavviamo il server.

271
00:14:14,760 --> 00:14:19,913
‫Questo file, il tour-semplice.

272
00:14:21,480 --> 00:14:23,610
‫json da cui provengono i nostri

273
00:14:23,610 --> 00:14:25,140
‫tour, viene letto solo all'inizio quando avviamo il server.

274
00:14:25,140 --> 00:14:28,819
‫Ora il fatto è che ogni volta che salviamo qualcosa in

275
00:14:28,819 --> 00:14:31,420
‫questo file JSON, ricaricherà anche il server.

276
00:14:31,420 --> 00:14:35,180
‫Lascia che te lo dimostri, quindi se premo ora

277
00:14:35,180 --> 00:14:38,160
‫salva, guarda cosa succede qui sotto.

278
00:14:38,160 --> 00:14:40,800
‫Quindi lo salvo, e così vedete che

279
00:14:40,800 --> 00:14:43,180
‫quaggiù ha riavviato il server.

280
00:14:43,180 --> 00:14:44,980
‫Ha anche formattato il codice, perché è più carino.

281
00:14:44,980 --> 00:14:47,920
‫Ma ciò che conta qui è che questo codice sia aggiornato.

282
00:14:47,920 --> 00:14:50,970
‫Ecco perché ogni volta che salviamo qualcosa

283
00:14:50,970 --> 00:14:52,780
‫qui con la nostra

284
00:14:52,780 --> 00:14:56,160
‫API, ricaricherà immediatamente il server e ricaricherà il

285
00:14:56,160 --> 00:15:00,230
‫contenuto dal file nei tour, e possiamo quindi leggerlo subito.

286
00:15:00,230 --> 00:15:02,080
‫Ecco perché abbiamo

287
00:15:03,020 --> 00:15:06,400
‫accesso immediato a tutti i tour appena creati.

288
00:15:06,400 --> 00:15:08,563
‫Ha senso?

289
00:15:09,660 --> 00:15:10,550
‫Bene, in caso

290
00:15:10,550 --> 00:15:13,970
‫contrario, sentiti libero di porre le tue domande e, naturalmente, la sezione Q&A, giusto?

