1
00:00:00,000 --> 00:00:04,528
[MUSIC]

2
00:00:04,528 --> 00:00:09,392
Jetzt, da wir REST-API verstanden haben und die Unterstützung für

3
00:00:09,392 --> 00:00:13,293
REST-API ausdrücken, gehen wir mit der nächsten Übung über.

4
00:00:13,293 --> 00:00:17,168
Wo wir uns ansehen werden, wie wir die REST-API

5
00:00:17,168 --> 00:00:19,972
mit der Unterstützung von express entwickeln werden.

6
00:00:19,972 --> 00:00:23,110
Und auch die Verwendung von Express-Router,

7
00:00:23,110 --> 00:00:28,110
ermöglicht es uns, unseren Code in einer Weise zu organisieren, die besser geeignet ist,

8
00:00:28,110 --> 00:00:33,231
wenn Sie eine große Anzahl von REST-API-Endpunkten unterstützen müssen.

9
00:00:35,080 --> 00:00:39,965
Um zu beginnen, weiter mit dem Node-Express-Ordner

10
00:00:39,965 --> 00:00:44,565
haben wir auf dem express-basierten Webserver gearbeitet.

11
00:00:44,565 --> 00:00:50,546
Lassen Sie uns an der Eingabeaufforderung body-parser installieren

12
00:00:50,546 --> 00:00:57,729
, geben Sie dazu npm install body-parser —save ein.

13
00:00:57,729 --> 00:01:02,674
Und wir verwenden die 1.18.3 Version von

14
00:01:02,674 --> 00:01:06,689
body-parser in diesem Kurs hier.

15
00:01:06,689 --> 00:01:16,476
Jetzt, sobald wir Body-Parser installiert haben, dann gehen Sie in unseren Code.

16
00:01:16,476 --> 00:01:22,723
Lassen Sie mich in der index.js5 BodyParser benötigen, also

17
00:01:22,723 --> 00:01:28,492
sagen wir const bodyParser

18
00:01:28,492 --> 00:01:33,553
erfordert body-Parser.

19
00:01:33,553 --> 00:01:39,891
Und dann, wenn Sie eine Middleware verwenden müssen,

20
00:01:39,891 --> 00:01:46,558
sagen Sie, app.use (BodyParser.json).

21
00:01:46,558 --> 00:01:51,782
Dies ermöglicht es uns, den Körper der Anforderungsnachricht zu analysieren,

22
00:01:51,782 --> 00:01:54,989
die im JSON-Format formatiert ist.

23
00:01:57,466 --> 00:02:03,374
Sobald wir das abgeschlossen haben, beginnen wir mit

24
00:02:03,374 --> 00:02:08,678
dem Aufbau der REST-API-Unterstützung für den /dishs-Endpunkt.

25
00:02:08,678 --> 00:02:12,797
Die Verwendung der app.all, app.get, put, post und

26
00:02:12,797 --> 00:02:16,339
delete Methoden werden von express unterstützt.

27
00:02:16,339 --> 00:02:21,692
Lassen Sie mich damit beginnen,

28
00:02:21,692 --> 00:02:26,725
app.all zu sagen, und die ersten Parameter,

29
00:02:26,725 --> 00:02:31,937
die app.all nimmt, sind der Endpunkt.

30
00:02:31,937 --> 00:02:36,360
In diesem Fall gebe ich den Endpunkt von /dishesan.

31
00:02:36,360 --> 00:02:43,560
Und dann ist der zweite Parameter die Callback-Funktion,

32
00:02:43,560 --> 00:02:49,564
req, res, als nächstes die drei Parameter hier.

33
00:02:49,564 --> 00:02:56,518
Und innerhalb dieser Callback-Funktion werden wir die eingehende Anfrage behandeln.

34
00:02:56,518 --> 00:03:01,740
Also werden wir sagen, wenn eine Anfrage eingeht, für alle Anfragen.

35
00:03:01,740 --> 00:03:06,993
Wenn wir also app.all sagen, unabhängig davon, welche Methode aufgerufen wird,

36
00:03:06,993 --> 00:03:12,864
get, put, post oder delete, für den /dishes-REST-API-Endpunkt,

37
00:03:12,864 --> 00:03:17,190
wird dieser Code zuerst hier standardmäßig ausgeführt.

38
00:03:17,190 --> 00:03:26,376
Also sagen wir res StatusCode ist 200 und

39
00:03:26,376 --> 00:03:31,889
dann res.setHeader und

40
00:03:31,889 --> 00:03:39,248
sagen wir Content-Type Text.

41
00:03:39,248 --> 00:03:44,290
Wir senden jetzt Nur-Text anstelle von HTML-Text.

42
00:03:44,290 --> 00:03:47,575
Dies sollte für REST-API-Endpunkte ausreichen.

43
00:03:47,575 --> 00:03:52,420
Später senden wir die Daten in Form von JSON, sobald

44
00:03:52,420 --> 00:03:54,640
wir die Daten aus der Datenbank abrufen können.

45
00:03:54,640 --> 00:03:57,340
Das wird also in einer der späteren Übungen kommen.

46
00:03:57,340 --> 00:04:04,389
Im Moment senden wir einfach Klartext-Antworten an den Kunden zurück.

47
00:04:04,389 --> 00:04:10,785
Nun nach diesen beiden ist die Middleware hier noch nicht abgeschlossen.

48
00:04:10,785 --> 00:04:17,590
Also werden wir die nächste Funktion hier aufrufen, also bezieht sich die nächste, wie Sie sehen, auf diese nächste.

49
00:04:17,590 --> 00:04:24,954
Also, wenn Sie als nächstes anrufen, was es bedeutet, dass es weiterhin nach

50
00:04:24,954 --> 00:04:29,665
zusätzlichen Spezifikationen unten hier unten zu suchen,

51
00:04:29,665 --> 00:04:33,790
die diesem Geschirr Endpunkt entsprechen wird.

52
00:04:33,790 --> 00:04:38,282
Also würde dies für alle Anfragen getan werden, erhalten, setzen, posten und

53
00:04:38,282 --> 00:04:42,712
löschen, auf dem Geschirr, und es wird weiter zum nächsten.

54
00:04:42,712 --> 00:04:48,436
Also hier, nehmen wir an, wir bekommen eine Get-Anfrage

55
00:04:48,436 --> 00:04:53,792
auf Geschirr, was bedeutet, dass jetzt,

56
00:04:53,792 --> 00:04:58,961
wenn wir eine Get-Anfrage auf Geschirr bekommen,

57
00:04:58,961 --> 00:05:04,133
zuerst dies ausgeführt wird, und

58
00:05:04,133 --> 00:05:09,304
dann werden die Req und res

59
00:05:09,304 --> 00:05:13,760
an diesen zweiten Aufruf weitergegeben werden.

60
00:05:13,760 --> 00:05:17,481
Also in diesem Fall werde ich das nächste nicht mehr brauchen,

61
00:05:17,481 --> 00:05:21,335
weil ich nicht weiter nach unten rufen werde.

62
00:05:21,335 --> 00:05:26,444
Ich werde die Handhabung direkt innerhalb dieser Methode hier selbst abschließen.

63
00:05:26,444 --> 00:05:36,607
Wenn wir also die req oder res innerhalb dieses Codes ändern,

64
00:05:36,607 --> 00:05:41,130
wird beim Aufruf des nächsten dieses modifizierte Objekt als Parameter an diesen übergeben.

65
00:05:41,130 --> 00:05:45,698
Also, wenn Sie eine Get-Anfrage auf Geschirr ausgestellt haben, so ist dies, was

66
00:05:45,698 --> 00:05:50,202
direkt danach ausgeführt wird, so dass dies als nächstes wird es dazu führen, weiterzugeben.

67
00:05:50,202 --> 00:05:55,836
Und dann bemerken Sie, dass wir das Res-Objekt hier modifiziert haben.

68
00:05:55,836 --> 00:06:02,770
Und die Modifikation wird als Eingabeparameter zu dieser Funktion hier tragen.

69
00:06:03,940 --> 00:06:09,380
Also in dieser Get-Funktion können wir sagen, zum Beispiel, im Moment,

70
00:06:09,380 --> 00:06:15,197
ich werde einfach eine einfache Nachricht zurücksenden, sagen wir,

71
00:06:15,197 --> 00:06:20,170
wird Ihnen alle Gerichte senden.

72
00:06:20,170 --> 00:06:25,650
Später, wenn wir die Gerichte Informationen aus der Datenbank abrufen,

73
00:06:25,650 --> 00:06:31,036
nachdem wir über MongoDB erfahren haben, dann gibt diese Funktion

74
00:06:31,036 --> 00:06:36,534
diese JSON-Daten zurück an den Client, da es sich hier in einer get Anfrage befindet.

75
00:06:36,534 --> 00:06:40,566
Im vorherigen Kurs hatten wir nun den JSON-Server verwendet, und

76
00:06:40,566 --> 00:06:44,457
der JSON-Server stellte uns alle diese bereits zur Verfügung.

77
00:06:44,457 --> 00:06:46,965
Jetzt sehen Sie, wie Sie

78
00:06:46,965 --> 00:06:50,268
einen echten Server konstruieren würden, der die eingehende Anfrage verarbeitet.

79
00:06:50,268 --> 00:06:53,139
Generieren Sie dann eine entsprechende Antwort und

80
00:06:53,139 --> 00:06:57,857
senden Sie sie als Antwort auf die Anfrage von der Client-Seite erhalten.

81
00:06:57,857 --> 00:07:02,611
Und hier ist der Benutzer Express, wie wir hier sehen, nützlich.

82
00:07:02,611 --> 00:07:06,971
So haben wir gehandhabt bekommen,

83
00:07:06,971 --> 00:07:14,387
lassen Sie uns Post auch auf Geschirr hier behandeln.

84
00:07:16,120 --> 00:07:21,064
Und wieder wären die Parameter (req, res,

85
00:07:21,064 --> 00:07:26,722
next), und diese Funktion, die aufgerufen wird, wird hier sein.

86
00:07:26,722 --> 00:07:31,606
Jetzt, wenn die get-Anfrage empfangen wird, weil Sie hier rest.end aufrufen. Dieses

87
00:07:31,606 --> 00:07:36,982
Ende ist also die Verarbeitung der get-Anfrage und löst nicht die Antwort

88
00:07:36,982 --> 00:07:42,130
zurück gesendet wird oder die Antwort an den Client an diesem Punkt zurückgesendet wird.

89
00:07:42,130 --> 00:07:47,050
Wenn Sie nun eine Post-Anfrage auf Geschirr erhalten, wird dieser ganze Code ausgeführt.

90
00:07:47,050 --> 00:07:52,859
Und dann, aus diesem Grund, wird das hier in diesen Funktionsaufruf fallen.

91
00:07:52,859 --> 00:07:57,000
Und dann wird der Code hier ausgeführt, so dass, wenn Sie einen Beitrag erhalten

92
00:07:59,610 --> 00:08:04,820
Die Postanforderung, die vom Server eingeht, wird einige Informationen

93
00:08:04,820 --> 00:08:08,710
im Hauptteil der Nachricht in Form von JSON-Daten tragen.

94
00:08:08,710 --> 00:08:13,650
Sie werden sehen, was die Form der JSON-Daten ist, wenn wir

95
00:08:13,650 --> 00:08:18,910
später schauen, wenn wir Endpunkt mit post net testen.

96
00:08:18,910 --> 00:08:24,700
Ich zeige Ihnen, was der Text der Post Request Nachricht enthalten wird.

97
00:08:24,700 --> 00:08:27,710
Aber an diesem Punkt, was ich tun werde, ist, dass

98
00:08:27,710 --> 00:08:33,420
ich die Informationen aus dem Körper extrahieren werde.

99
00:08:33,420 --> 00:08:38,545
Und hier, wenn wir den Body Parser verwenden, passiert, dass für

100
00:08:38,545 --> 00:08:44,541
die eingehende Anfrage der Körper der eingehenden Anfrage analysiert und

101
00:08:44,541 --> 00:08:48,237
dann in das Req-Objekt als req.body hinzugefügt wird.

102
00:08:48,237 --> 00:08:52,843
Der req.body gibt Ihnen also Zugriff auf alles, was sich in diesem Textkörper

103
00:08:52,843 --> 00:08:54,050
der Nachricht befindet.

104
00:08:54,050 --> 00:08:58,642
Wenn ich die Anfrage sende,

105
00:08:58,642 --> 00:09:04,339
füge ich dem

106
00:09:04,339 --> 00:09:10,034
Anforderungstext Informationen in Form einer JSON-Zeichenfolge hinzu, die

107
00:09:10,034 --> 00:09:15,570
einen Namen und eine Beschreibung enthält.

108
00:09:15,570 --> 00:09:20,081
Also werde ich diese zwei Informationen extrahieren und sie

109
00:09:20,081 --> 00:09:26,080
dann ausdrucken und sie dann in der Antwortnachricht an den Client zurückschicken.

110
00:09:26,080 --> 00:09:32,840
Also kann ich sagen, req.body.und dann Namen.

111
00:09:32,840 --> 00:09:38,298
Daher ist die Erwartung, dass der Nachrichtentext, wenn der Client

112
00:09:38,298 --> 00:09:42,183
die Postnachricht sendet, eine JSON-Zeichenfolge

113
00:09:42,183 --> 00:09:47,108
enthält, die auch die name-Eigenschaft in der JSON-Zeichenfolge enthält.

114
00:09:47,108 --> 00:09:52,646
Also req.body.name plus und

115
00:09:52,646 --> 00:09:57,952
das ist, wo ich

116
00:09:57,952 --> 00:10:06,970
mit Details einschließen werde: + req.body.description.

117
00:10:06,970 --> 00:10:11,654
Was auch immer die JSON-Zeichenfolge in der req.body enthält, aber

118
00:10:11,654 --> 00:10:15,963
JSON-Zeichenfolge wird in ein JavaScript-Objekt analysiert und

119
00:10:15,963 --> 00:10:19,909
dem Anforderungsobjekt als Eigenschaftskörper hinzugefügt.

120
00:10:19,909 --> 00:10:22,971
Das JavaScript-Objekt verweist auf

121
00:10:22,971 --> 00:10:27,440
das, was als JSON-Zeichenfolge im Hauptteil der Anforderungsnachricht eintrat.

122
00:10:27,440 --> 00:10:31,750
Deshalb bin ich in der Lage, die Name-Eigenschaft, die Beschreibungseigenschaft, zu analysieren,

123
00:10:31,750 --> 00:10:38,000
können Sie die Preiseigenschaft, die Bild-Eigenschaft und all das haben.

124
00:10:38,000 --> 00:10:42,260
Wenn Sie also den vorherigen Kurs absolviert haben, haben Sie die Struktur eines

125
00:10:42,260 --> 00:10:48,850
Dish-Objekts in Form einer JSON-Zeichenfolge oder des JavaScript-Objekts dort gesehen.

126
00:10:48,850 --> 00:10:52,920
Also, der Name und die Beschreibung klingt Ihnen vertraut.

127
00:10:52,920 --> 00:10:55,400
Also genau das, was ich hier benutze.

128
00:10:55,400 --> 00:11:00,823
Im Moment extrahiere ich nur den Namen und die Beschreibung aus der Leiche und

129
00:11:00,823 --> 00:11:04,220
schicke sie dann an den Klienten in diesem Körper zurück.

130
00:11:04,220 --> 00:11:09,460
Also konstruiere ich nur diese Antwortnachricht hier mit den Informationen

131
00:11:09,460 --> 00:11:13,150
aus dem Hauptteil der Anforderungsnachricht und sende sie dann an den Client zurück.

132
00:11:13,150 --> 00:11:17,830
Auf diese Weise kann ich bestätigen, dass der Server empfängt, was ich

133
00:11:17,830 --> 00:11:19,930
im Nachrichtentext sende.

134
00:11:19,930 --> 00:11:21,820
Das ist also die Post-Anfrage.

135
00:11:23,390 --> 00:11:30,620
Lassen Sie mich das jetzt kopieren, und fügen Sie es hier ein.

136
00:11:30,620 --> 00:11:35,360
Und dann für setzen auf diesem Geschirr Endpunkt,

137
00:11:35,360 --> 00:11:39,100
weil es auf dem Geschirr Endpunkt setzen macht keinen Sinn.

138
00:11:39,100 --> 00:11:44,440
Ein Beitrag bedeutet, dass Sie ein neues Gericht auf den Servern veröffentlichen.

139
00:11:44,440 --> 00:11:50,992
Ein Setzen auf den Endpunkt der Gerichte macht keinen Sinn,

140
00:11:50,992 --> 00:11:55,516
also hier, was ich tun werde, ist, dass ich

141
00:11:55,516 --> 00:12:00,664
mit der Nachricht

142
00:12:00,664 --> 00:12:06,660
PUT-Operation, die nicht auf /Gerichte unterstützt wird, zurückantworten werde.

143
00:12:06,660 --> 00:12:14,790
Darüber hinaus werde ich auch, Fügen Sie einen Statuscode von 403.

144
00:12:14,790 --> 00:12:19,987
403 bedeutet, dass ihr Betrieb nicht unterstützt wird.

145
00:12:19,987 --> 00:12:24,319
Wenn Sie also auf die Tabelle HTTP-Antwortcodes zurückblicken,

146
00:12:24,319 --> 00:12:30,600
sehen Sie den entsprechenden Code 403, was er dort darstellt.

147
00:12:30,600 --> 00:12:34,650
Also, das ist, was ich für Post verwende.

148
00:12:34,650 --> 00:12:39,879
Zum Löschen, Ich werde

149
00:12:39,879 --> 00:12:44,777
diese kopieren und zum Löschen werde ich,

150
00:12:47,537 --> 00:12:55,960
Einfach diese analysieren, und dann sagen wir, Löschen alle Gerichte.

151
00:12:55,960 --> 00:13:02,200
Also, wenn Sie eine Löschanforderung für diesen /dishs-Endpunkt senden.

152
00:13:02,200 --> 00:13:04,900
Es wird so interpretiert, dass

153
00:13:04,900 --> 00:13:08,960
der Kunde alle Gerichte Informationen auf der Serverseite löschen möchte.

154
00:13:08,960 --> 00:13:11,300
Dies ist ein gefährlicher Vorgang, also

155
00:13:11,300 --> 00:13:15,540
stellen Sie sicher, dass Sie Partnerbenutzern das nicht erlauben.

156
00:13:15,540 --> 00:13:17,750
Später, wenn wir die Authentifizierung studieren,

157
00:13:17,750 --> 00:13:23,220
werden wir sehen, wie wir diesen Vorgang nur für privilegierte Benutzer überprüfen können.

158
00:13:23,220 --> 00:13:28,620
Aber wie Sie sehen, ist dies eine gefährliche Operation, also denken Sie daran.

159
00:13:28,620 --> 00:13:33,340
So, jetzt sehen Sie, dass im Geschirr Endpunkt, wir haben bekommen, setzen, posten

160
00:13:33,340 --> 00:13:35,130
und löschen Unterstützung.

161
00:13:35,130 --> 00:13:41,520
Lassen Sie uns das auch auf dem Gerichte/:dishid Endpunkt unterstützen.

162
00:13:41,520 --> 00:13:46,280
Also werde ich die Methoden get, put, post und delete von hier kopieren

163
00:13:48,530 --> 00:13:54,175
und dann alle aufrufen, um auch auf

164
00:13:54,175 --> 00:14:00,360
Dishes/:dishid unterstützt zu werden.

165
00:14:00,360 --> 00:14:06,913
Also das ist für die get, und wir kopieren das und

166
00:14:06,913 --> 00:14:11,480
posten, setzen und löschen.

167
00:14:11,480 --> 00:14:13,330
Wie gehen wir mit jedem von diesen um?

168
00:14:13,330 --> 00:14:19,460
Also für get, wenn ich eine Anfrage auf Gerichte/dishid bekomme,

169
00:14:19,460 --> 00:14:22,750
was ich tun möchte, ist, diesen Parameter zu extrahieren und

170
00:14:22,750 --> 00:14:27,000
ihn dann in der Anfrage in der Antwortnachricht zurück zu senden.

171
00:14:27,000 --> 00:14:29,725
Also werden wir sagen, wir senden,

172
00:14:39,018 --> 00:14:41,625
Details des Gerichts.

173
00:14:44,584 --> 00:14:46,910
Welches Gericht jetzt?

174
00:14:46,910 --> 00:14:51,570
Diese Informationen befinden sich im Parameter.

175
00:14:51,570 --> 00:14:55,335
Dieser Parameterwert kann also von

176
00:14:55,335 --> 00:15:02,300
Req.params.dishid abrufen.

177
00:15:02,300 --> 00:15:07,510
Also diese DisHid, wie Sie sehen, sollte der Name, den Sie hier verwenden, diesem Wert hier entsprechen.

178
00:15:07,510 --> 00:15:09,370
Wenn Sie also einfach nur die ID hier sehen,

179
00:15:09,370 --> 00:15:13,220
sollte dies auch der angegebenen SiD hier entsprechen.

180
00:15:13,220 --> 00:15:17,920
Der Name selbst bedeutet also nichts, außer dass dieser Parametername und

181
00:15:17,920 --> 00:15:23,400
dieser übereinstimmen sollte, damit Sie die Informationen korrekt abrufen können.

182
00:15:25,090 --> 00:15:30,470
Also sagen wir, senden Sie die Teller Parameter DishiD und

183
00:15:30,470 --> 00:15:37,360
dann sagen wir Ihnen.

184
00:15:37,360 --> 00:15:43,160
Auf diese Weise wissen wir, dass der Server den Dish-Parameter erhält.

185
00:15:43,160 --> 00:15:47,350
Also, wenn ich sage /dishes/23 gibt es mehrere Antworten

186
00:15:47,350 --> 00:15:52,350
werden die Details des Gerichts 23 an Sie senden und so weiter.

187
00:15:52,350 --> 00:15:57,632
So werden wir sehen, wie es funktioniert, wenn wir post verwenden, um diesen Server zu testen.

188
00:15:57,632 --> 00:15:59,584
Jetzt zum Posten.

189
00:15:59,584 --> 00:16:03,530
Für Post wird diese Methode nicht unterstützt,

190
00:16:03,530 --> 00:16:07,060
also werde ich nur diesen Teil kopieren.

191
00:16:07,060 --> 00:16:12,205
es macht keinen Sinn, einen Beitrag zu einer bestimmten Gericht ID zu machen,

192
00:16:12,205 --> 00:16:16,375
weil Sie nicht versuchen, ein neues Gericht hinzuzufügen.

193
00:16:16,375 --> 00:16:21,360
Aber Sie möchten ändern, und Änderung wird mit der Put-Operation durchgeführt.

194
00:16:21,360 --> 00:16:28,111
Also werden wir sagen, POST-Operation wird nicht auf /dishesunterstützt.

195
00:16:33,331 --> 00:16:36,360
Und dann werde ich hinzufügen in der.

196
00:16:39,750 --> 00:16:43,197
Req.params.dishid.

197
00:16:43,197 --> 00:16:47,535
Dies wird also zurück sagen Post, der nicht auf

198
00:16:47,535 --> 00:16:50,752
Gerichten/23 in der Antwortnachricht unterstützt wird.

199
00:16:50,752 --> 00:16:55,926
Nun, für PUT, Für PUT, werden wir sagen,

200
00:16:59,902 --> 00:17:08,799
res.end und sagen Will, aktualisieren Sie das Gericht.

201
00:17:13,902 --> 00:17:20,978
Req.params.dishid.

202
00:17:28,915 --> 00:17:31,675
Oder besser gesagt, wir machen es so.

203
00:17:33,785 --> 00:17:39,141
Ich schreibe zuerst, also

204
00:17:39,141 --> 00:17:45,345
kann res.write verwendet werden, um der Antwortnachricht eine Zeile hinzuzufügen.

205
00:17:45,345 --> 00:17:50,077
Also sagen wir, das Gericht zu aktualisieren.

206
00:17:50,077 --> 00:17:58,655
Und wir sagen Req.params.dishid.

207
00:17:58,655 --> 00:18:06,245
Und da dies eine PUT-Operation ist und wenn der Körper die JSON-Zeichenfolge enthält,

208
00:18:06,245 --> 00:18:10,277
die die Details des Gerichts enthält,

209
00:18:10,277 --> 00:18:17,310
kann ich die JSON-Zeichenfolge extrahieren, da wir den Body-Parser verwenden.

210
00:18:17,310 --> 00:18:21,649
Also werden wir sagen, Will

211
00:18:21,649 --> 00:18:26,569
das Gericht aktualisieren:.

212
00:18:30,234 --> 00:18:31,924
Welches Gericht?

213
00:18:31,924 --> 00:18:34,822
req.body.name.

214
00:18:38,122 --> 00:18:38,657
Plus.

215
00:18:40,531 --> 00:18:45,701
Mit Details,

216
00:18:45,701 --> 00:18:55,250
req.body.description.

217
00:18:59,320 --> 00:19:08,800
Nun, wenn wir das Gericht aktualisieren, möchte ich eine neue Zeile hinzufügen.

218
00:19:08,800 --> 00:19:11,411
Also werde ich dort '/n' sagen.

219
00:19:14,500 --> 00:19:19,257
Wenn Sie also einen PUT durchführen, senden Sie die Informationen darüber zurück, welche Dish-ID

220
00:19:19,257 --> 00:19:22,674
Sie aktualisieren, und auch die Details, die Sie aktualisieren.

221
00:19:22,674 --> 00:19:26,997
Der Name und die Beschreibung,

222
00:19:26,997 --> 00:19:34,318
die sich im Text der PUT-Nachricht befinden sollten.

223
00:19:34,318 --> 00:19:41,868
Zum Löschen, Es wird sagen Löschen Gericht, und req.params.dishid.

224
00:19:41,868 --> 00:19:47,970
Und zum Löschen ist dies die Operation, die ausgeführt wird.

225
00:19:47,970 --> 00:19:51,607
So sehen Sie, dass wir jetzt die get, put, post und

226
00:19:51,607 --> 00:19:55,838
delete Operationen auf den Dishes/dishid, Endpunkt und

227
00:19:55,838 --> 00:20:00,590
auch die get, put, post Operationen auf dem /dish, endpunkt haben.

228
00:20:00,590 --> 00:20:03,765
Speichern wir nun die Änderungen.

229
00:20:03,765 --> 00:20:05,387
Und starten Sie unseren Server wieder.

230
00:20:08,245 --> 00:20:10,643
Starten Sie den Server, indem Sie npm start sagen.

231
00:20:10,643 --> 00:20:15,611
Lassen Sie uns nun zum Postboten gehen und ein paar Anfragen an diesen Server senden und

232
00:20:15,611 --> 00:20:17,270
sehen, was er zurückgibt.

233
00:20:17,270 --> 00:20:22,287
Lassen Sie mich zuerst ein get auf lokalen Host ausgeben 3,000 und sehen, was es zurückkehrt.

234
00:20:22,287 --> 00:20:26,832
Wenn Sie also eine Anforderung senden, um den lokalen Host 3.000 zu erhalten,

235
00:20:26,832 --> 00:20:30,798
gibt es immer noch die Index-Start-HTML-Seite zurück,

236
00:20:30,798 --> 00:20:35,069
da die statische Dateibehandlung noch vorhanden ist.

237
00:20:35,069 --> 00:20:41,564
Nun lassen Sie mich eine Get-Anfrage an localhost senden: 3000/Gerichte, und dies,

238
00:20:41,564 --> 00:20:48,383
wie Sie erwarten, wird eine Antwort zurücksenden, die besagt, dass wir Ihnen alle Gerichte senden werden.

239
00:20:48,383 --> 00:20:56,350
Nun senden wir eine POST-Anforderung an localhost: 3000/Gerichte.

240
00:20:56,350 --> 00:21:01,200
Hier können Sie die verschiedenen Methoden ändern, die Sie ausführen möchten.

241
00:21:01,200 --> 00:21:02,880
Wenn Sie jedoch einen Beitrag senden,

242
00:21:02,880 --> 00:21:08,570
möchten Sie einige Details in den Nachrichtentext einfügen,

243
00:21:08,570 --> 00:21:12,920
da jemand erwartet, dass Sie Informationen im Nachrichtentext senden.

244
00:21:12,920 --> 00:21:17,967
Klicken Sie also auf Körper hier und klicken Sie auf roh hier.

245
00:21:17,967 --> 00:21:23,395
Und dann, für den Text, wählen Sie dies für JSON aus, so

246
00:21:23,395 --> 00:21:26,377
verwenden Sie die Anwendung JSON.

247
00:21:26,377 --> 00:21:31,081
Der Inhaltstyp wäre also Application/JSON in

248
00:21:31,081 --> 00:21:34,220
der Anfrage, die Sie senden.

249
00:21:34,220 --> 00:21:38,658
Da dies ein JSON-Objekt ist, also

250
00:21:38,658 --> 00:21:43,103
in geschweiften Klammern, werde ich name sagen.

251
00:21:45,320 --> 00:21:50,727
Ich werde einfach Test

252
00:21:50,727 --> 00:21:53,939
und Beschreibung eingeben.

253
00:22:01,212 --> 00:22:05,760
Einige Standardinformationen hier, so dass Sie sehen, dass dies eine JSON-Zeichenfolge ist, die

254
00:22:05,760 --> 00:22:10,900
zwei Eigenschaften enthält, Name und Beschreibung und die entsprechenden Werte.

255
00:22:10,900 --> 00:22:13,858
Also lassen Sie uns eine Post-Anfrage an den Server senden.

256
00:22:13,858 --> 00:22:18,294
Wenn Sie eine Post-Anfrage an den Server senden, wie Sie sehen,

257
00:22:18,294 --> 00:22:24,290
in der Antwort sagt es wird das Gericht hinzufügen: Testwoche Details: Beschreibung.

258
00:22:24,290 --> 00:22:30,368
Wie Sie sehen können, werden die beiden Informationen aus dem Hauptteil

259
00:22:30,368 --> 00:22:35,772
dieses JSON-angeforderten [UNAUDIBLE] extrahiert und dann in die Antwort aufgenommen.

260
00:22:35,772 --> 00:22:39,459
Lassen Sie uns eine Put-Anfrage an Gerichte senden.

261
00:22:39,459 --> 00:22:43,029
Wenn Sie eine Put-Anfrage an Gerichte senden, wie Sie sehen,

262
00:22:43,029 --> 00:22:48,654
sagt es PUT-Operation nicht auf /Gerichte unterstützt, und schauen Sie sich den Status hier an.

263
00:22:48,654 --> 00:22:52,580
Es steht Status: 403 Verboten.

264
00:22:52,580 --> 00:22:57,570
Daher ist dieser Vorgang auf diesem Endpunkt nicht zulässig.

265
00:22:57,570 --> 00:23:01,430
Lassen Sie uns eine DELETE-Operation auf dem Geschirr machen.

266
00:23:01,430 --> 00:23:04,240
Wenn Sie die Operation auf dem Geschirr

267
00:23:04,240 --> 00:23:09,270
löschen, werden Sie feststellen, dass alle Gerichte gelöscht werden.

268
00:23:09,270 --> 00:23:11,560
Das ist also die Antwort, die Sie zurückbekommen.

269
00:23:12,920 --> 00:23:15,410
Sie sehen also, dass der get post, put und

270
00:23:15,410 --> 00:23:20,610
delete auf dem /dishs-Endpunkt funktioniert wie erwartet.

271
00:23:20,610 --> 00:23:24,507
Nun lassen Sie uns ein bekommen auf Geschirr tun /23.

272
00:23:24,507 --> 00:23:29,017
Also 23 hier ist der Parameter,

273
00:23:29,017 --> 00:23:34,710
die ID des Gerichts, das Sie erhalten möchten.

274
00:23:34,710 --> 00:23:38,716
Also, wenn Sie eine Anfrage senden, dass der Server antworten

275
00:23:38,716 --> 00:23:41,878
wird, werden Details des Gerichts senden: 23 an Sie.

276
00:23:41,878 --> 00:23:47,421
Sie sehen also, dass der Parameter aus der Anforderungsnachricht extrahiert und

277
00:23:47,421 --> 00:23:50,645
dann in die Antwortnachricht aufgenommen wurde.

278
00:23:50,645 --> 00:23:54,850
Machen wir einen Beitrag dazu.

279
00:23:54,850 --> 00:23:59,580
Und wie Sie wissen, ist POST auf diesem Endpunkt nicht erlaubt, und

280
00:23:59,580 --> 00:24:03,450
deshalb erhalten Sie einen Status 403 Verboten auf diesem Endpunkt.

281
00:24:03,450 --> 00:24:05,728
Lassen Sie uns dazu eine PUT-Operation machen.

282
00:24:05,728 --> 00:24:10,040
Für die PUT-Operation stellen Sie fest, dass der Körper das noch enthält.

283
00:24:10,040 --> 00:24:13,950
Wenn Sie also in POST einen Wert eingeben,

284
00:24:13,950 --> 00:24:18,720
wird dieser beibehalten und kann in anderen Anfragen enthalten sein, die Sie senden.

285
00:24:18,720 --> 00:24:25,087
Also, wenn Sie eine PUT-Anfrage auf dem Endpunkt senden, Gerichte/23.

286
00:24:25,087 --> 00:24:28,650
Sie bemerken also, dass es heißt, das Gericht zu aktualisieren, 23.

287
00:24:28,650 --> 00:24:31,780
Aktualisiert das Gericht, den Namen des Gerichts,

288
00:24:31,780 --> 00:24:36,200
mit Details, die Beschreibung des Gerichts hier.

289
00:24:36,200 --> 00:24:41,130
Und dann, lassen Sie uns einen Löschvorgang auf diesem Endpunkt machen und

290
00:24:41,130 --> 00:24:45,140
dann heißt es, d Löschen Gericht: 23.

291
00:24:45,140 --> 00:24:52,210
Diese Endpunkte werden also alle unterstützt, wie Sie in diesem Beispiel sehen.

292
00:24:52,210 --> 00:24:58,430
Also haben wir PUT, POSRT und Löschvorgänge sowohl auf dem Endpunkt /Gerichte als

293
00:24:58,430 --> 00:25:03,830
auch auf dem Endpunkt /dishes/ dem Dish ID getan.

294
00:25:03,830 --> 00:25:08,010
Sie sehen also, wie wir die REST-API-Endpunktunterstützung für

295
00:25:08,010 --> 00:25:12,730
einen Satz von REST-API-Endpunkten implementiert haben.

296
00:25:12,730 --> 00:25:17,405
Damit schließen wir den ersten Teil dieser Übung ab.

297
00:25:17,405 --> 00:25:22,378
Also, hier haben wir gesehen, wie wir Express verwenden können, um den

298
00:25:22,378 --> 00:25:26,755
REST-API-Endpunkt für die Gerichte zu konstruieren und zu implementieren.

299
00:25:26,755 --> 00:25:27,885
Nun, dies ist ein guter Zeitpunkt für

300
00:25:27,885 --> 00:25:32,895
Sie, ein Git-Commit mit der Nachricht Express Simple REST zu machen.

301
00:25:33,895 --> 00:25:42,361
Nach dem Terminal werde ich starten die, Server.

302
00:25:42,361 --> 00:25:45,845
Überprüfen Sie, ob drei der Elemente geändert wurden.

303
00:25:45,845 --> 00:25:52,527
Also, git add, git commit -m,

304
00:25:52,527 --> 00:26:01,750
Express Simple REST, Und überprüfen Sie den Satz.

305
00:26:01,750 --> 00:26:08,670
Wie Sie sehen können, können Sie mit Express die Unterstützung für die REST-API einfach implementieren.

306
00:26:08,670 --> 00:26:15,300
Und wie Sie aus dieser Liste sehen können, konstruieren Sie die

307
00:26:15,300 --> 00:26:21,590
Methoden „get“, „PUT“, „POST“ und „delete“ für alle REST-API-Endpunkte wie folgt.

308
00:26:21,590 --> 00:26:24,601
Stellen Sie sich nun vor, Sie haben tausend REST-API-Endpunkte,

309
00:26:24,601 --> 00:26:27,347
und Sie müssen so etwas konstruieren.

310
00:26:27,347 --> 00:26:33,344
Ihre Datei index.js wird mit so vielen verschiedenen REST-API-Endpunkten explodieren.

311
00:26:33,344 --> 00:26:37,744
Und jeder wird mit seinen eigenen app.get,

312
00:26:37,744 --> 00:26:41,536
app.put, app.delete und app.post behandelt.

313
00:26:41,536 --> 00:26:46,336
Jetzt unterstützt Wxpress eine Möglichkeit, diese Arbeit in mehrere,

314
00:26:46,336 --> 00:26:48,442
viele Express-Anwendungen zu unterteilen,

315
00:26:48,442 --> 00:26:54,580
die dann zu einer allgemeinen Express-Anwendung kombiniert werden können.

316
00:26:54,580 --> 00:26:58,260
Hier werden wir den Express Router nutzen,

317
00:26:58,260 --> 00:27:01,960
um eine Mini-Express-Anwendung erstellen zu können.

318
00:27:01,960 --> 00:27:06,070
Und dann

319
00:27:06,070 --> 00:27:10,040
werden wir innerhalb einer Express Router-Datei den REST-API-Endpunkt für eine Gruppe von REST-API-Teilen unterstützen.

320
00:27:10,040 --> 00:27:13,190
So zum Beispiel für Gerichte und Gerichte DishiD,

321
00:27:13,190 --> 00:27:15,598
können sie alle in einer Datei unterstützt werden.

322
00:27:15,598 --> 00:27:20,694
In ähnlicher Weise unterstützen Sie in der Zuweisung einen

323
00:27:20,694 --> 00:27:25,339
REST-API-Endpunkt namens Promotions und Promotions/:PromoID.

324
00:27:25,339 --> 00:27:29,570
Und dann unterstützen Sie eine andere REST-API und

325
00:27:29,570 --> 00:27:34,241
für Führungskräfte und /Leader:LeaderID.

326
00:27:34,241 --> 00:27:39,088
So kann jede dieser Gruppen separat implementiert werden, so viele

327
00:27:39,088 --> 00:27:43,120
Express-Anwendungen mit Express Router.

328
00:27:43,120 --> 00:27:46,230
Das ist also, was ich Ihnen für

329
00:27:46,230 --> 00:27:52,150
den Endpunkt der Gerichte im nächsten Teil dieser Übung illustrieren werde.

330
00:27:52,150 --> 00:27:57,668
Um das zu tun, erkennen wir, dass, wenn wir alle Dateien in einen einzigen Ordner legen,

331
00:27:57,668 --> 00:28:01,498
Ihre Ordnerstruktur wieder chaotisch aussehen wird.

332
00:28:01,498 --> 00:28:07,731
Also meine Präferenz ist es, hier einen Ordner namens Routen zu erstellen.

333
00:28:07,731 --> 00:28:12,591
Und dieser Routenordner enthält alle Router, die ich

334
00:28:12,591 --> 00:28:15,450
mit dem Express Router entwerfen werde.

335
00:28:15,450 --> 00:28:19,465
Also im Routenordner werde ich eine neue Datei namens

336
00:28:19,465 --> 00:28:27,270
dishRouter.js erstellen.

337
00:28:27,270 --> 00:28:31,332
Und diese Datei dishRouter.js enthält die

338
00:28:31,332 --> 00:28:36,972
Implementierung der Verarbeitung des REST-API-Endpunkts für

339
00:28:36,972 --> 00:28:41,281
/Gerichte und /dishes:dishid-Endpunkte.

340
00:28:41,281 --> 00:28:44,626
Wie nutzen wir jetzt Express Router?

341
00:28:44,626 --> 00:28:46,910
Mal sehen, wie wir es benutzen können.

342
00:28:46,910 --> 00:28:51,050
Jetzt kommt Express Router zusammen mit Express, so dass wir kein

343
00:28:51,050 --> 00:28:53,130
weiteres Node-Modul installieren müssen.

344
00:28:53,130 --> 00:28:56,970
Stattdessen können wir mit Express arbeiten, die wir bereits installiert haben. Geben

345
00:28:56,970 --> 00:29:02,308
Sie dazu an dieser Eingabeaufforderung, const express

346
00:29:02,308 --> 00:29:07,200
= require ('express'); ein.

347
00:29:07,200 --> 00:29:09,950
Beachten Sie also, dass, da dies eine Mini-Anwendung ist,

348
00:29:09,950 --> 00:29:15,000
wir immer noch Express benötigen, sogar in dieser dishRouter.js Datei.

349
00:29:15,000 --> 00:29:18,495
Und aus Ihrem Wissen über Knotenmodule, sobald Sie eine neue Datei definieren,

350
00:29:18,495 --> 00:29:20,251
wird das zu einem eigenen Knotenmodul.

351
00:29:20,251 --> 00:29:24,708
Und dieses Node-Modul kann dann in index.js importiert werden.

352
00:29:24,708 --> 00:29:29,520
So sehen Sie bereits die Verbindung zwischen, wie wir unsere

353
00:29:29,520 --> 00:29:33,415
Anwendung in mehrere Dateien mit Node-Modulen umstrukturieren können.

354
00:29:33,415 --> 00:29:39,525
Also werden wir setzen erfordern Express, dann sagen wir const

355
00:29:39,525 --> 00:29:44,830
bodyParser require ('body-parser').

356
00:29:44,830 --> 00:29:50,310
Also haben wir BodyParser bereits in den vorherigen Schritten der Übung installiert,

357
00:29:50,310 --> 00:29:51,634
so dass wir das verwenden können.

358
00:29:51,634 --> 00:29:55,040
Nun, um einen Express-Router zu verwenden,

359
00:29:55,040 --> 00:30:00,636
lassen Sie mich const DishRouter = express.r deklarieren

360
00:30:00,636 --> 00:30:05,769
und auf Express, es unterstützt diese Router-Schnittstelle, so werden wir einfach

361
00:30:05,769 --> 00:30:11,430
sagen express.Router und dies wird DishRouter als Express-Router deklarieren.

362
00:30:11,430 --> 00:30:13,951
Also in vielen Express-Anwendungen,

363
00:30:13,951 --> 00:30:18,820
ein Einblick hier kann ich diesen DishRouter-verwandten Code hier behandeln.

364
00:30:19,830 --> 00:30:26,560
Also, sobald ich dies einen in Express-Router deklariere, dann kann ich DishRouter sagen.

365
00:30:28,050 --> 00:30:33,337
Und dann unterstützt es auf dem DishRouter eine Methode namens route method,

366
00:30:33,337 --> 00:30:36,694
die einen Endpunkt als Parameter aufnehmen kann.

367
00:30:36,694 --> 00:30:41,330
Also würde ich diesen Endpunkt einfach a /deklarieren.

368
00:30:41,330 --> 00:30:44,620
Du fragst dich, sollte das nicht Geschirr sein?

369
00:30:44,620 --> 00:30:49,630
Sie werden ziemlich bald sehen, dass ich diesen

370
00:30:49,630 --> 00:30:53,140
Express-Router in meiner index.js Datei mounten muss.

371
00:30:53,140 --> 00:31:01,270
Also in meiner Datei index.js werde ich diesen Express-Router am /dishs-Endpunkt einhängen.

372
00:31:01,270 --> 00:31:03,300
Montage eines Express-Routers, wieder,

373
00:31:03,300 --> 00:31:05,900
ein weiteres Konzept, das ich möchte, dass Sie verstehen.

374
00:31:05,900 --> 00:31:08,408
Das werde ich Ihnen in kurzer Zeit noch einmal zeigen.

375
00:31:08,408 --> 00:31:13,368
Nun bedeutet der DishRouter.route, dass

376
00:31:13,368 --> 00:31:17,526
wir mit diesem Ansatz den Endpunkt an einem einzigen Ort deklarieren.

377
00:31:17,526 --> 00:31:21,316
Dabei können Sie alle get, PUT, POST,

378
00:31:21,316 --> 00:31:25,219
löschen Methoden bereits diesen Dish Router.

379
00:31:25,219 --> 00:31:30,139
Nun, wenn Sie sich index.js ansehen, schauen Sie sich an, wie wir dies implifiziert haben.

380
00:31:30,139 --> 00:31:36,029
Also haben wir app.all und dann /Gerichte, app.get/Gerichte und /dishes.

381
00:31:36,029 --> 00:31:40,795
Nun, wenn Sie einen Fehler gemacht hatten, und ihre Anweisung app.post

382
00:31:40,795 --> 00:31:45,580
/Gerichte stattdessen, wenn Sie einfach /dish eingeben, was passiert dann?

383
00:31:45,580 --> 00:31:49,050
Der POST-Vorgang wird auf Gerichte nicht unterstützt,

384
00:31:49,050 --> 00:31:51,730
wird aber auf /dish Endpoint unterstützt.

385
00:31:53,170 --> 00:31:59,220
Um dieses Problem zu vermeiden, unterstützt der Express-Router diesen Routenendpunkt.

386
00:31:59,220 --> 00:32:00,090
Auf dem Routenendpunkt

387
00:32:00,090 --> 00:32:05,860
geben Sie einfach den Endpunkt an, an dem dieser Router arbeiten soll.

388
00:32:05,860 --> 00:32:10,890
Und dann ist die Get-Put-Teile-Löschmethode, die einfach darin verkettet ist.

389
00:32:10,890 --> 00:32:16,300
Es wird also eine Gruppe von Methodenimplementierungen alle zusammen sein.

390
00:32:16,300 --> 00:32:20,345
Das ist der Grund, warum sie einen Express-Router verwenden.

391
00:32:20,345 --> 00:32:24,185
Es kommt also mit ein paar sehr nützlichen

392
00:32:24,185 --> 00:32:28,525
Unterstützung, um sicherzustellen, dass Ihre Implementierung korrekt ist.

393
00:32:28,525 --> 00:32:32,190
Jetzt, da wir das als Geschirr-Router

394
00:32:32,190 --> 00:32:37,920
tun werden, werde ich dieses Ding von hier entfernen.

395
00:32:37,920 --> 00:32:42,990
Nun, das Gericht IDN Punkt, ich werde das

396
00:32:42,990 --> 00:32:47,565
Ihnen als Übung in Ihrem ersten Auftrag überlassen, aber

397
00:32:47,565 --> 00:32:54,180
der Endpunkt der Gerichte, ich werde das ausschneiden, bis zu allen.

398
00:32:54,180 --> 00:32:59,350
Ich werde das aus index.js5 herausschneiden und

399
00:32:59,350 --> 00:33:04,580
das hier in den DishRouter verschieben.

400
00:33:04,580 --> 00:33:11,887
Jetzt, wenn ich das in den DishRouter verschiebe, brauche ich diese app.all nicht mehr.

401
00:33:11,887 --> 00:33:18,267
Ich verkette das einfach in die Route, also werde ich einfach sagen .all und

402
00:33:18,267 --> 00:33:24,210
dann brauche ich diese Endpunktdefinition dort nicht mehr.

403
00:33:24,210 --> 00:33:24,900
Das war's. Also

404
00:33:24,900 --> 00:33:28,390
wird es sagen .all und dann sagen wir req, res, als nächstes.

405
00:33:28,390 --> 00:33:31,470
Und das alles funktioniert auf diesem speziellen Endpunkt, der

406
00:33:31,470 --> 00:33:33,690
hier bereits angegeben wurde.

407
00:33:33,690 --> 00:33:37,920
Nun, nicht nur das, wir können die restlichen Methoden verketten.

408
00:33:37,920 --> 00:33:41,360
Deshalb sehen Sie, dass ich das Semikolon von hier entfernt habe.

409
00:33:41,360 --> 00:33:46,270
Ich werde diese App löschen und dann darauf anhängen.

410
00:33:46,270 --> 00:33:51,600
So wird auch in die Route geändert, und dann kann ich

411
00:33:53,140 --> 00:33:57,740
diesen Teil entfernen, die Handhabung bleibt genau die gleiche wie zuvor.

412
00:33:57,740 --> 00:34:05,520
So ähnlich werde ich entfernen die, App dort.

413
00:34:05,520 --> 00:34:10,850
Und dann wieder, löschen Sie das aus dem Post.

414
00:34:10,850 --> 00:34:11,865
Und das Gleiche.

415
00:34:17,447 --> 00:34:22,248
Für setzen, Und

416
00:34:22,248 --> 00:34:27,360
zum Löschen, Gleiches.

417
00:34:27,360 --> 00:34:30,800
Beachten Sie also, dass es hier, hier oder

418
00:34:30,800 --> 00:34:34,670
hier keine Semikolons gibt, aber das letzte, das Löschen, wird das Semikolon an Ort und Stelle haben.

419
00:34:34,670 --> 00:34:40,810
Diese Gruppe ist also eine einzige Einheit, die durch

420
00:34:40,810 --> 00:34:45,930
die Verwendung des Dish Router auf diesem bestimmten Router implementiert wird, und alle diese sind miteinander verkettet.

421
00:34:47,640 --> 00:34:52,610
Und natürlich muss ich mit Löschen diesen Endpunkt entfernen.

422
00:34:52,610 --> 00:34:56,626
Das ist es, sehen Sie, saubere Struktur des Codes hier.

423
00:34:56,626 --> 00:35:02,100
So dass im Wesentlichen, endet die Implementierung des DishRouter, richtig,

424
00:35:02,100 --> 00:35:07,700
denken Sie daran, dieser DishRouter ist in der Datei dishRouter.js definiert.

425
00:35:07,700 --> 00:35:12,870
Jetzt muss ich dies von diesem Knotenmodul exportieren.

426
00:35:12,870 --> 00:35:17,500
Also, um dies zu exportieren, werde ich hier nach unten gehen und

427
00:35:17,500 --> 00:35:22,877
ich werde module.exports

428
00:35:22,877 --> 00:35:26,170
sagen und sagen, DishRouter.

429
00:35:26,170 --> 00:35:27,030
Das ist es.

430
00:35:27,030 --> 00:35:34,920
Also jetzt exportiert mein DishRouter alles, was ich brauche.

431
00:35:34,920 --> 00:35:41,170
Jetzt schauen Sie sich das an und sagen, was ist mit Colon Gericht.

432
00:35:41,170 --> 00:35:44,302
Das wird Teil Ihres ersten Auftrags sein.

433
00:35:44,302 --> 00:35:47,010
Nicht nur das, Sie implementieren

434
00:35:47,010 --> 00:35:53,000
auch für zwei zusätzliche REST-API-Endpunkte, die Werbeaktionen und die Führungskräfte.

435
00:35:53,000 --> 00:35:57,960
Dies zeigt Ihnen jedoch bereits die Struktur, wie eine

436
00:35:57,960 --> 00:36:03,080
Express-Router-Implementierung der Res-API-Unterstützung aussieht.

437
00:36:03,080 --> 00:36:05,070
Das ist also für Dishrouter.Route.

438
00:36:05,070 --> 00:36:09,848
Und eine letzte Sache, bevor ich vergesse,

439
00:36:09,848 --> 00:36:18,140
sollten wir dishrouter.Use (bodyparser.json ()) sagen.

440
00:36:20,326 --> 00:36:23,852
Nachdem Sie nun die Implementierung des DishRouter abgeschlossen haben,

441
00:36:23,852 --> 00:36:26,130
können wir nun in die Datei index.js gehen.

442
00:36:26,130 --> 00:36:34,020
Da dieser DishRouter ein weiteres Knotenmodul ist, dennoch ein feines Knotenmodul.

443
00:36:34,020 --> 00:36:38,120
Also müssen wir dies in unsere Anwendung importieren.

444
00:36:38,120 --> 00:36:44,250
Also genau hier werde ich const

445
00:36:46,000 --> 00:36:52,100
DishRouter importieren ist gleich erforderlich.

446
00:36:52,100 --> 00:36:56,626
Jetzt, da dies ein dateibasiertes Knotenmodul ist,

447
00:36:56,626 --> 00:37:03,000
werde ich sagen. /Routen/Geschirrspülmaschine.

448
00:37:03,000 --> 00:37:09,850
Und wenn ich sie dort deklariert habe, dann komme ich hier runter in den Code.

449
00:37:09,850 --> 00:37:14,230
Und genau dort sage ich app.use.

450
00:37:14,230 --> 00:37:19,130
Und ich montiere den Router an einem Endpunkt.

451
00:37:19,130 --> 00:37:20,930
Wie montiere ich den Router?

452
00:37:20,930 --> 00:37:25,790
Der erste Parameter hier, werde ich Schrägschräggerichte angeben.

453
00:37:25,790 --> 00:37:29,480
Und der zweite Parameter, geben Sie DishRouter.

454
00:37:30,810 --> 00:37:31,830
Und das war's.

455
00:37:31,830 --> 00:37:35,080
Was das bedeutet, ist, dass in meiner Express-Anwendung

456
00:37:36,205 --> 00:37:41,435
jede Anfrage, die zu diesem Schrägstrich Gerichte Endpunkt kommt, von DishRouter behandelt wird,

457
00:37:41,435 --> 00:37:45,615
und das wird durch den Code getan, der hier vorhanden ist,

458
00:37:45,615 --> 00:37:50,755
weil wir DishRouter Route gesagt haben, und so bemerken, dass dies sagt Schrägstrich,

459
00:37:50,755 --> 00:37:54,575
was bedeutet, dass diese wird am Schrägschüssel-Endpunkt montiert.

460
00:37:54,575 --> 00:37:59,378
Deshalb wird alles, was durch Schrägschalen kommt, dazu geschickt und

461
00:37:59,378 --> 00:38:00,890
wird dadurch behandelt.

462
00:38:02,730 --> 00:38:07,000
Ein großer Hinweis für Sie, darüber nachzudenken, wie Sie

463
00:38:07,000 --> 00:38:11,020
diesen Doppelpunkt-ID-Endpunkt implementieren würden.

464
00:38:11,020 --> 00:38:16,440
Sie werden immer noch die gleiche Datei dishRouter.js verwenden

465
00:38:16,440 --> 00:38:21,670
, um auch die Unterstützung für diesen /dishes/:dishid Endpunkt zu implementieren.

466
00:38:21,670 --> 00:38:24,580
Das ist ein weiterer großer Hinweis für dich, okay.

467
00:38:24,580 --> 00:38:29,260
Mit diesen Änderungen speichern wir die Änderungen, die wir

468
00:38:29,260 --> 00:38:33,870
an unserer Anwendung vorgenommen haben, und starten Sie dann unseren Server neu und

469
00:38:33,870 --> 00:38:37,480
werfen Sie einen Blick darauf, wie unser Server seine Arbeit machen wird.

470
00:38:38,850 --> 00:38:44,190
Gehen Sie zum Terminal, lassen Sie mich diesen Server neu starten, indem Sie npm start eingeben.

471
00:38:44,190 --> 00:38:47,340
Und sobald der Server läuft, werde ich zum Postboten gehen und

472
00:38:47,340 --> 00:38:50,220
Anfragen von Postboten an diesen Server senden.

473
00:38:51,220 --> 00:38:57,110
Gehen zum Postboten, jetzt weiß ich, dass mein Server nur

474
00:38:57,110 --> 00:39:01,690
die Gerichte Endpunkt unterstützt, Ich habe die Schale ID Teil davon implementiert.

475
00:39:01,690 --> 00:39:05,570
Also lassen Sie mich eine Get-Anfrage an lokale Gastgerichte senden und

476
00:39:05,570 --> 00:39:08,590
Sie werden sehen, dass es genau wie zuvor funktioniert.

477
00:39:08,590 --> 00:39:12,910
Nun, wenn Sie eine vorherige Anfrage in der Post gemacht haben, können Sie einfach darauf klicken und

478
00:39:12,910 --> 00:39:15,150
dann die Anfrage erneut senden.

479
00:39:16,940 --> 00:39:26,680
Put-Operation funktioniert nicht, Post-Operation, Funktioniert, wie Sie dort sehen.

480
00:39:26,680 --> 00:39:32,370
Und dann lassen Sie uns den Löschvorgang auf dem Geschirr verursachen.

481
00:39:32,370 --> 00:39:36,210
Und es sagt, alle Gerichte wie erwartet zu löschen.

482
00:39:36,210 --> 00:39:45,230
Dies ist also die Implementierung der restlichen API-Unterstützung mit Express-Router.

483
00:39:45,230 --> 00:39:48,950
Damit schließen wir die zweite Hälfte dieser Übung ab.

484
00:39:48,950 --> 00:39:54,490
Dies ist ein guter Zeitpunkt für Sie, einen get Kommentar mit dem Message Express Router zu tun.

485
00:39:55,830 --> 00:40:00,896
Nun, da wir diese Übung abgeschlossen haben, wo wir gesehen haben, wie Express

486
00:40:00,896 --> 00:40:06,450
verwendet werden kann, um die Implementierung der Res API Endpunktunterstützung auf unserem Server zu unterstützen,

487
00:40:06,450 --> 00:40:08,900
und auch die Verwendung von Express Router,

488
00:40:08,900 --> 00:40:13,906
ist es Zeit, auf die erste Zuweisung zu gehen, die dieser Lektion folgt.

489
00:40:13,906 --> 00:40:20,030
( MUSIK)