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

2
00:00:04,528 --> 00:00:09,392
Maintenant que nous avons compris l'API REST et que nous avons exprimé la prise en charge

3
00:00:09,392 --> 00:00:13,293
de l'API REST, passons à l'exercice suivant.

4
00:00:13,293 --> 00:00:17,168
Où nous allons voir comment nous allons développer l'API REST

5
00:00:17,168 --> 00:00:19,972
en utilisant le support fourni par express.

6
00:00:19,972 --> 00:00:23,110
Et aussi, l'utilisation du routeur express,

7
00:00:23,110 --> 00:00:28,110
nous permettant d'organiser notre code d'une manière qui est plus appropriée

8
00:00:28,110 --> 00:00:33,231
lorsque vous avez besoin de prendre en charge un grand nombre de points de terminaison API REST.

9
00:00:35,080 --> 00:00:39,965
Pour commencer, en continuant avec le dossier node-express,

10
00:00:39,965 --> 00:00:44,565
nous avons travaillé sur le serveur web basé sur express.

11
00:00:44,565 --> 00:00:50,546
À l'invite, installons body-parser,

12
00:00:50,546 --> 00:00:57,729
donc pour ce faire, tapez npm install body-parser —save.

13
00:00:57,729 --> 00:01:02,674
Et nous utilisons la version 1.18.3 de

14
00:01:02,674 --> 00:01:06,689
body-parser dans ce cours ici.

15
00:01:06,689 --> 00:01:12,151
Maintenant, une fois que nous avons installé body-parser, puis allez dans notre code.

16
00:01:12,151 --> 00:01:16,476
Dans l'index.js5,

17
00:01:16,476 --> 00:01:22,723
laissez-moi exiger BodyParser, donc

18
00:01:22,723 --> 00:01:28,492
nous dirons que const

19
00:01:28,492 --> 00:01:33,553
BodyParser nécessite body parser.

20
00:01:33,553 --> 00:01:39,891
Et puis chaque fois que vous avez besoin d'utiliser un middleware,

21
00:01:39,891 --> 00:01:46,558
vous direz, app.use (Bodyparser.json).

22
00:01:46,558 --> 00:01:51,782
Cela nous permet donc d'analyser le corps du message de requête,

23
00:01:51,782 --> 00:01:54,989
qui est formaté au format JSON.

24
00:01:57,466 --> 00:02:03,374
Une fois que nous avons terminé cela, commençons

25
00:02:03,374 --> 00:02:08,678
à construire la prise en charge de l'API REST pour le point de terminaison /plats.

26
00:02:08,678 --> 00:02:12,797
En utilisant les

27
00:02:12,797 --> 00:02:16,339
méthodes app.all, app.get, put, post et delete sont prises en charge par express.

28
00:02:16,339 --> 00:02:21,692
Donc, pour ce faire, laissez-moi commencer par dire

29
00:02:21,692 --> 00:02:26,725
app.all, et les premiers paramètres

30
00:02:26,725 --> 00:02:31,937
que app.all prend est le point de terminaison.

31
00:02:31,937 --> 00:02:36,360
Donc, dans ce cas, je spécifie le point de terminaison de /dish.

32
00:02:36,360 --> 00:02:43,560
Et puis le deuxième paramètre est la fonction de rappel,

33
00:02:43,560 --> 00:02:49,564
req, res, next, les trois paramètres ici.

34
00:02:49,564 --> 00:02:56,518
Et à l'intérieur de cette fonction de rappel, nous allons gérer la requête entrante.

35
00:02:56,518 --> 00:03:01,740
Donc, nous dirons, quand une demande entrera, pour toutes les demandes.

36
00:03:01,740 --> 00:03:06,993
Donc, quand nous disons app.all, quelle que soit la méthode qui est appelée,

37
00:03:06,993 --> 00:03:12,864
get, put, post ou delete, pour le point de terminaison de l'API REST /plats,

38
00:03:12,864 --> 00:03:17,190
ce code sera exécuté en premier par défaut ici.

39
00:03:17,190 --> 00:03:26,376
Donc, nous allons dire res StatusCode est 200

40
00:03:26,376 --> 00:03:31,889
, puis RES.setHeader et

41
00:03:31,889 --> 00:03:39,248
disons texte Content-Type.

42
00:03:39,248 --> 00:03:44,290
Nous allons envoyer du texte brut maintenant, au lieu du texte HTML.

43
00:03:44,290 --> 00:03:47,575
Cela devrait suffire pour les points de terminaison de l'API REST.

44
00:03:47,575 --> 00:03:52,420
Plus tard, nous enverrons les données sous forme de JSON une fois que

45
00:03:52,420 --> 00:03:54,640
nous serons en mesure de récupérer les données de la base de données.

46
00:03:54,640 --> 00:03:57,340
Donc, cela viendra dans l'un des exercices ultérieurs.

47
00:03:57,340 --> 00:04:04,389
Pour le moment, nous enverrons simplement des réponses en texte clair au client.

48
00:04:04,389 --> 00:04:10,785
Maintenant, après ces deux-là, le middleware n'est pas encore terminé.

49
00:04:10,785 --> 00:04:17,590
Donc, nous allons appeler la fonction suivante ici, donc la suivante comme vous le voyez se réfère à cette suivante.

50
00:04:17,590 --> 00:04:24,954
Donc, lorsque vous appelez ensuite, ce que cela signifie est qu'il continuera à chercher des

51
00:04:24,954 --> 00:04:29,665
spécifications supplémentaires ci-dessous,

52
00:04:29,665 --> 00:04:33,790
qui correspondront à ce point de terminaison vaisselle.

53
00:04:33,790 --> 00:04:38,282
Donc, cela serait fait pour toutes les demandes, obtenir, mettre, poster et

54
00:04:38,282 --> 00:04:42,712
supprimer, sur la vaisselle, et cela va continuer à la suivante.

55
00:04:42,712 --> 00:04:48,436
Donc ici, supposons que nous obtenons une requête get

56
00:04:48,436 --> 00:04:53,792
sur les plats, ce qui signifie que maintenant,

57
00:04:53,792 --> 00:04:58,961
si nous obtenons une requête get sur les plats

58
00:04:58,961 --> 00:05:04,133
, cela sera d'abord exécuté,

59
00:05:04,133 --> 00:05:09,304
puis le req et res seront transmis

60
00:05:09,304 --> 00:05:13,760
à ce deuxième appel ici.

61
00:05:13,760 --> 00:05:17,481
Donc, dans ce cas, je n'aurai plus besoin de la prochaine,

62
00:05:17,481 --> 00:05:21,335
parce que je ne vais pas appeler plus bas.

63
00:05:21,335 --> 00:05:26,444
Je vais terminer le droit de manipulation dans cette méthode ici lui-même.

64
00:05:26,444 --> 00:05:31,337
Donc, si nous modifions le req ou res à l'intérieur de ce code,

65
00:05:31,337 --> 00:05:36,607
alors lorsque vous appelez le suivant, cet objet modifié

66
00:05:36,607 --> 00:05:41,130
sera passé en tant que paramètre à cela.

67
00:05:41,130 --> 00:05:45,698
Donc, si vous avez émis une demande get sur les plats, c'est donc ce qui sera

68
00:05:45,698 --> 00:05:50,202
exécuté juste après cela, donc cette prochaine fera passer.

69
00:05:50,202 --> 00:05:55,836
Et puis ici, vous remarquez que nous avons modifié l'objet res ici.

70
00:05:55,836 --> 00:06:02,770
Et la modification portera en tant que paramètre d'entrée à cette fonction ici.

71
00:06:03,940 --> 00:06:09,380
Donc, à l'intérieur de cette fonction get, nous pouvons dire, par exemple, pour le moment,

72
00:06:09,380 --> 00:06:15,197
je vais simplement renvoyer un message simple, nous

73
00:06:15,197 --> 00:06:20,170
dirons, va vous envoyer tous les plats.

74
00:06:20,170 --> 00:06:25,650
Plus tard, lorsque nous récupérons les informations de vaisselle de la base de données

75
00:06:25,650 --> 00:06:31,036
après avoir appris sur MongoDB, alors cette fonction retournera

76
00:06:31,036 --> 00:06:36,534
ces données JSON au client, car c'est dans une requête get ici.

77
00:06:36,534 --> 00:06:40,566
Maintenant, dans le cours précédent, nous avions utilisé le serveur JSON, et

78
00:06:40,566 --> 00:06:44,457
le serveur JSON fournissait déjà tous ces éléments pour nous.

79
00:06:44,457 --> 00:06:46,965
Maintenant, vous voyez comment vous construiriez

80
00:06:46,965 --> 00:06:50,268
un vrai serveur qui traitera la requête entrante.

81
00:06:50,268 --> 00:06:53,139
Ensuite, générez une réponse appropriée et

82
00:06:53,139 --> 00:06:57,857
renvoyez-la en réponse à la demande reçue du côté client.

83
00:06:57,857 --> 00:07:02,611
Et c'est là que l'utilisateur exprime, comme nous le voyons ici, est utile.

84
00:07:02,611 --> 00:07:06,971
Donc, nous avons géré obtenir, nous

85
00:07:06,971 --> 00:07:14,387
allons gérer post aussi sur les plats ici.

86
00:07:16,120 --> 00:07:21,064
Et encore une fois, les paramètres seraient (req, res,

87
00:07:21,064 --> 00:07:26,722
next), et cette fonction qui est invoquée sera ici.

88
00:07:26,722 --> 00:07:31,606
Maintenant, lorsque la demande get est reçue, car ici, vous appelez rest.end.

89
00:07:31,606 --> 00:07:36,982
Donc, cette fin est la gestion de la requête get et ne déclenche pas la réponse

90
00:07:36,982 --> 00:07:42,130
à renvoyer, ou la réponse à renvoyer au client à ce stade.

91
00:07:42,130 --> 00:07:47,050
Maintenant, si vous obtenez une demande de poste sur la vaisselle, encore une fois, tout ce code sera exécuté.

92
00:07:47,050 --> 00:07:52,859
Et puis, à cause de cette prochaine, cela tombera dans cet appel de fonction ici.

93
00:07:52,859 --> 00:07:57,000
Et puis le code ici, sera exécuté, donc lorsque vous recevez un message

94
00:07:59,610 --> 00:08:04,820
La demande de poste venant du serveur portera quelques informations

95
00:08:04,820 --> 00:08:08,710
dans le corps du message sous la forme de données JSON.

96
00:08:08,710 --> 00:08:13,650
Ils verront quelle est la forme des données JSON lorsque nous

97
00:08:13,650 --> 00:08:18,910
regardons plus tard lorsque nous testons le point final en utilisant post net.

98
00:08:18,910 --> 00:08:24,700
Je vais vous montrer ce que le corps du message de demande de poste contiendra.

99
00:08:24,700 --> 00:08:27,710
Mais à ce stade, ce que je vais faire, c'est,

100
00:08:27,710 --> 00:08:33,420
je vais extraire l'information du corps.

101
00:08:33,420 --> 00:08:38,545
Et donc ici, lorsque nous utilisons l'analyseur de corps, ce qui se passe est que pour

102
00:08:38,545 --> 00:08:44,541
la requête entrante, le corps de la requête entrante sera analysé

103
00:08:44,541 --> 00:08:48,237
puis ajouté dans l'objet req en tant que req.body.

104
00:08:48,237 --> 00:08:52,843
Donc, req.body vous donnera accès à tout ce qui se trouve dans ce corps

105
00:08:52,843 --> 00:08:54,050
du message.

106
00:08:54,050 --> 00:08:58,642
Donc, lorsque j'envoie la demande,

107
00:08:58,642 --> 00:09:04,339
j'ajouterai des informations au

108
00:09:04,339 --> 00:09:10,034
corps de la requête sous la forme d'une chaîne JSON qui

109
00:09:10,034 --> 00:09:15,570
contient un nom et une description.

110
00:09:15,570 --> 00:09:20,081
Je vais donc extraire ces deux informations

111
00:09:20,081 --> 00:09:26,080
, puis les imprimer et les renvoyer au client dans le message de réponse.

112
00:09:26,080 --> 00:09:32,840
Donc, je peux dire, req.body.Et puis nom.

113
00:09:32,840 --> 00:09:38,298
Et donc l'attente est que lorsque le client envoie le message de publication,

114
00:09:38,298 --> 00:09:42,183
le corps du message de publication contiendra une chaîne JSON,

115
00:09:42,183 --> 00:09:47,108
qui contiendra également la propriété name dans la chaîne JSON.

116
00:09:47,108 --> 00:09:52,646
Donc req.body.name plus et

117
00:09:52,646 --> 00:09:57,952
c'est là que j'inclurai

118
00:09:57,952 --> 00:10:06,970
avec des détails : + req.body.description.

119
00:10:06,970 --> 00:10:11,654
Donc, quelle que soit la chaîne JSON contient dans le req.body, mais la

120
00:10:11,654 --> 00:10:15,963
chaîne JSON sera analysée dans un objet JavaScript et

121
00:10:15,963 --> 00:10:19,909
ajoutée à l'objet requête en tant que corps de propriété.

122
00:10:19,909 --> 00:10:22,971
L' objet JavaScript pointe vers tout ce qui

123
00:10:22,971 --> 00:10:27,440
est entré en tant que chaîne JSON dans le corps du message de requête.

124
00:10:27,440 --> 00:10:31,750
C' est pourquoi je suis capable d'analyser la propriété name, la propriété description,,

125
00:10:31,750 --> 00:10:38,000
vous pouvez avoir la propriété price, la propriété image, et tout cela.

126
00:10:38,000 --> 00:10:42,260
Donc, si vous avez suivi le cours précédent, vous avez vu la structure d'un

127
00:10:42,260 --> 00:10:48,850
objet plat, sous la forme d'une chaîne JSON ou de l'objet JavaScript là-bas.

128
00:10:48,850 --> 00:10:52,920
Donc, le nom et la description vous semblent familiers.

129
00:10:52,920 --> 00:10:55,400
Donc c'est exactement ce que j'utilise ici. En

130
00:10:55,400 --> 00:11:00,823
ce moment, je ne fais qu'extraire le nom et la description du corps et

131
00:11:00,823 --> 00:11:04,220
ensuite le renvoyer au client dans ce corps.

132
00:11:04,220 --> 00:11:09,460
Donc, je suis juste en train de construire ce message

133
00:11:09,460 --> 00:11:13,150
de réponse ici en utilisant les informations du corps du message de demande, puis de le renvoyer au client.

134
00:11:13,150 --> 00:11:17,830
Ainsi, je peux confirmer que le serveur reçoit tout ce que j'envoie

135
00:11:17,830 --> 00:11:19,930
dans le corps du message.

136
00:11:19,930 --> 00:11:21,820
Donc, c'est la demande de poste.

137
00:11:23,390 --> 00:11:30,620
Maintenant pour mettre, laissez-moi juste copier ceci, puis collez-le ici.

138
00:11:30,620 --> 00:11:35,360
Et puis pour mettre sur ce point de terminaison de vaisselle,

139
00:11:35,360 --> 00:11:39,100
parce qu'il met sur le point de terminaison de vaisselle n'a pas de sens.

140
00:11:39,100 --> 00:11:44,440
Un message signifie que vous publiez un nouveau plat sur les serveurs.

141
00:11:44,440 --> 00:11:50,992
Un point de fin mis sur les plats n'a pas de sens,

142
00:11:50,992 --> 00:11:55,516
donc ici ce que je vais faire est que je

143
00:11:55,516 --> 00:12:00,664
vais répondre avec l'

144
00:12:00,664 --> 00:12:06,660
opération PUT message non supportée sur /dish.

145
00:12:06,660 --> 00:12:14,790
En outre, Je vais aussi, Inclure un code d'état de 403.

146
00:12:14,790 --> 00:12:19,987
403 signifie que leur fonctionnement n'est pas pris en charge.

147
00:12:19,987 --> 00:12:24,319
Donc, si vous regardez en arrière la table des codes de réponse HTTP,

148
00:12:24,319 --> 00:12:30,600
vous verrez le code correspondant 403 ce qu'il représente là.

149
00:12:30,600 --> 00:12:34,650
Donc, c'est ce que j'utilise pour la publication.

150
00:12:34,650 --> 00:12:39,879
Pour supprimer, je vais copier

151
00:12:39,879 --> 00:12:44,777
celui-ci et pour supprimer je vais,

152
00:12:47,537 --> 00:12:55,960
Il suffit d'analyser ceci, et puis nous dirons, Suppression de tous les plats.

153
00:12:55,960 --> 00:13:02,200
Donc, lorsque vous envoyez une demande de suppression sur ce point de terminaison /plats.

154
00:13:02,200 --> 00:13:04,900
Il est interprété comme signifiant que

155
00:13:04,900 --> 00:13:08,960
le client veut supprimer toutes les informations de vaisselle côté serveur.

156
00:13:08,960 --> 00:13:11,300
Maintenant, il s'agit d'une opération dangereuse, donc

157
00:13:11,300 --> 00:13:15,540
vous assurez que vous n'autorisez pas les utilisateurs partenaires à le faire.

158
00:13:15,540 --> 00:13:17,750
Donc, plus tard, lorsque nous étudierons l'authentification,

159
00:13:17,750 --> 00:13:23,220
nous verrons comment nous pouvons res vérifier cette opération uniquement aux utilisateurs privilégiés.

160
00:13:23,220 --> 00:13:28,620
Mais encore une fois, comme vous le voyez, c'est une opération dangereuse, alors gardez à l'esprit à ce sujet.

161
00:13:28,620 --> 00:13:33,340
Donc maintenant, vous voyez que dans le point de terminaison des plats, nous avons obtenir, mettre, poster

162
00:13:33,340 --> 00:13:35,130
et supprimer le support.

163
00:13:35,130 --> 00:13:41,520
Supportons également cela sur les plates/: point de terminaison dishid.

164
00:13:41,520 --> 00:13:46,280
Donc, je vais copier les méthodes get, put, post et delete d'ici,

165
00:13:48,530 --> 00:13:54,175
puis les appelle toutes aussi pour être supportées sur les

166
00:13:54,175 --> 00:14:00,360
plats/:dishid.

167
00:14:00,360 --> 00:14:06,913
Donc, c'est pour le get, et nous copions cela et

168
00:14:06,913 --> 00:14:11,480
postons, mettez et supprimez.

169
00:14:11,480 --> 00:14:13,330
Comment pouvons-nous gérer chacun de ces éléments ?

170
00:14:13,330 --> 00:14:19,460
Donc, pour obtenir, si je reçois une requête sur plats/dishid,

171
00:14:19,460 --> 00:14:22,750
ce que je voudrais faire est d'extraire ce paramètre,

172
00:14:22,750 --> 00:14:27,000
puis de le renvoyer dans la requête, dans le message de réponse.

173
00:14:27,000 --> 00:14:29,725
Donc nous allons dire, nous allons envoyer,

174
00:14:39,018 --> 00:14:41,625
Détails du plat.

175
00:14:44,584 --> 00:14:46,910
Maintenant, quel plat ?

176
00:14:46,910 --> 00:14:51,570
Ces informations se trouvent dans le paramètre.

177
00:14:51,570 --> 00:14:55,335
Donc, cette valeur de paramètre peut récupérer à partir de

178
00:14:55,335 --> 00:15:02,300
req.params.dishid.

179
00:15:02,300 --> 00:15:07,510
Donc, ce disHID, comme vous le voyez, le nom que vous utilisez ici devrait correspondre à cette valeur ici.

180
00:15:07,510 --> 00:15:09,370
Donc, si vous voyez simplement l'ID ici,

181
00:15:09,370 --> 00:15:13,220
cela devrait également correspondre au SiD donné ici.

182
00:15:13,220 --> 00:15:17,920
Donc, le nom lui-même ne signifie rien, sauf que ce nom de paramètre et

183
00:15:17,920 --> 00:15:23,400
cela devrait correspondre les uns aux autres, de sorte que vous pouvez récupérer les informations correctement.

184
00:15:25,090 --> 00:15:30,470
Donc, nous allons dire, envoyer les paramètres du plat DisHID et

185
00:15:30,470 --> 00:15:37,360
ensuite nous vous le dirons.

186
00:15:37,360 --> 00:15:43,160
Donc, de cette façon, nous savons que le serveur reçoit le paramètre dish..

187
00:15:43,160 --> 00:15:47,350
Donc, si je dis /plates/23 il y a plusieurs réponses

188
00:15:47,350 --> 00:15:52,350
vous enverront les détails du plat 23 et ainsi de suite.

189
00:15:52,350 --> 00:15:57,632
Donc, nous verrons comment cela fonctionne lorsque nous utilisons post pour tester ce serveur.

190
00:15:57,632 --> 00:15:59,584
Maintenant pour le poste.

191
00:15:59,584 --> 00:16:03,530
Pour post, cette méthode ne sera pas prise en charge,

192
00:16:03,530 --> 00:16:07,060
donc je vais juste copier cette partie.

193
00:16:07,060 --> 00:16:12,205
cela n'a pas de sens de faire un message sur une carte d'identité spécifique,

194
00:16:12,205 --> 00:16:16,375
parce que vous n'essayez pas d'ajouter un nouveau plat.

195
00:16:16,375 --> 00:16:21,360
Mais vous voulez modifier, et la modification se fait en utilisant l'opération put.

196
00:16:21,360 --> 00:16:28,111
Donc, nous allons dire, l'opération POST n'est pas prise en charge sur /dish.

197
00:16:33,331 --> 00:16:36,360
Et puis je vais ajouter dans le.

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

199
00:16:43,197 --> 00:16:47,535
Donc, cela va renvoyer en disant post non supporté sur les

200
00:16:47,535 --> 00:16:50,752
plats/23 dans le message de réponse.

201
00:16:50,752 --> 00:16:55,926
Maintenant, pour PUT, Pour PUT, nous allons dire,

202
00:16:59,902 --> 00:17:08,799
res.end et dire Will, mettre à jour le plat.

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

204
00:17:28,915 --> 00:17:31,675
Ou plutôt, nous le ferons de cette façon.

205
00:17:33,785 --> 00:17:39,141
Je vais d'abord écrire, Donc

206
00:17:39,141 --> 00:17:45,345
res.write peut être utilisé pour ajouter une ligne au message de réponse.

207
00:17:45,345 --> 00:17:50,077
Donc, nous allons dire mettre à jour le plat.

208
00:17:50,077 --> 00:17:58,655
Et nous dirons Req.Params.Dishid.

209
00:17:58,655 --> 00:18:06,245
Et puisque c'est une opération PUT, et si le corps contient la chaîne JSON,

210
00:18:06,245 --> 00:18:10,277
qui contient les détails du plat,

211
00:18:10,277 --> 00:18:17,310
je peux extraire la chaîne JSON parce que nous utilisons l'analyseur de corps.

212
00:18:17,310 --> 00:18:21,649
Donc, nous allons dire

213
00:18:21,649 --> 00:18:26,569
mettre à jour le plat :.

214
00:18:30,234 --> 00:18:31,924
Quel plat ?

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

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

217
00:18:40,531 --> 00:18:45,701
Avec des détails,

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

219
00:18:59,320 --> 00:19:08,800
Maintenant, quand on met à jour le plat, je veux ajouter une nouvelle ligne là.

220
00:19:08,800 --> 00:19:11,411
Alors je dirai « /n » là.

221
00:19:14,500 --> 00:19:19,257
Donc, lorsque vous faites un PUT, vous renvoyez les informations sur l'ID de plat que vous

222
00:19:19,257 --> 00:19:22,674
mettez à jour, ainsi que les détails que vous mettez à jour.

223
00:19:22,674 --> 00:19:26,997
Le nom et la description,

224
00:19:26,997 --> 00:19:34,318
qui doivent figurer dans le corps du message PUT.

225
00:19:34,318 --> 00:19:41,868
Pour supprimer, Il dira Deleting dish, et req.params.dishid.

226
00:19:41,868 --> 00:19:47,970
Et donc pour supprimer, c'est l'opération qui sera effectuée.

227
00:19:47,970 --> 00:19:51,607
Donc, vous voyez que maintenant nous avons les

228
00:19:51,607 --> 00:19:55,838
opérations get, put, post et delete sur les plates/dishid, endpoint, et

229
00:19:55,838 --> 00:20:00,590
aussi les opérations get, put, post sur le point de terminaison /plats.

230
00:20:00,590 --> 00:20:03,765
Donc, sauvegardons maintenant les modifications.

231
00:20:03,765 --> 00:20:05,387
Et relancez notre serveur.

232
00:20:08,245 --> 00:20:10,643
Démarrez le serveur en disant npm start.

233
00:20:10,643 --> 00:20:15,611
Allons maintenant au facteur et envoyons quelques requêtes à ce serveur et

234
00:20:15,611 --> 00:20:17,270
voyons ce qu'il retourne.

235
00:20:17,270 --> 00:20:22,287
Laissez-moi d'abord émettre un get à l'hôte local 3,000 et voir ce qu'il retourne.

236
00:20:22,287 --> 00:20:26,832
Donc, lorsque vous envoyez une demande pour obtenir l'hôte local 3 000,

237
00:20:26,832 --> 00:20:30,798
il renvoie toujours la page HTML de démarrage de l'index,

238
00:20:30,798 --> 00:20:35,069
car la gestion des fichiers statiques est toujours en place.

239
00:20:35,069 --> 00:20:41,564
Maintenant, laissez-moi envoyer une demande get à localhost : 3000/plats, et cela,

240
00:20:41,564 --> 00:20:48,383
comme vous vous y attendez, va renvoyer une réponse disant que nous allons vous envoyer tous les plats.

241
00:20:48,383 --> 00:20:56,350
Maintenant, envoyons une requête POST à localhost : 3000/plats.

242
00:20:56,350 --> 00:21:01,200
C' est donc là que vous pouvez changer les différentes méthodes que vous voulez exécuter.

243
00:21:01,200 --> 00:21:02,880
Mais lorsque vous envoyez un message,

244
00:21:02,880 --> 00:21:08,570
vous voulez inclure quelques détails dans le corps du message car

245
00:21:08,570 --> 00:21:12,920
quelqu'un s'attend à ce que vous envoyiez des informations dans le corps du message.

246
00:21:12,920 --> 00:21:17,967
Alors cliquez sur le corps ici et cliquez sur raw ici.

247
00:21:17,967 --> 00:21:23,395
Et puis, pour le texte, vous sélectionnez ceci à JSON afin

248
00:21:23,395 --> 00:21:26,377
d'utiliser l'application JSON.

249
00:21:26,377 --> 00:21:31,081
Donc, le type de contenu serait application/JSON dans

250
00:21:31,081 --> 00:21:34,220
la demande que vous envoyez.

251
00:21:34,220 --> 00:21:38,658
Donc, puisque c'est un objet JSON, donc

252
00:21:38,658 --> 00:21:43,103
dans les accolades, je dirai nom.

253
00:21:45,320 --> 00:21:50,727
Je vais simplement taper le test,

254
00:21:50,727 --> 00:21:53,939
et la description.

255
00:22:01,212 --> 00:22:05,760
Certaines informations standard ici, de sorte que vous voyez qu'il s'agit d'une chaîne JSON qui

256
00:22:05,760 --> 00:22:10,900
contient deux propriétés, nom et description et les valeurs correspondantes.

257
00:22:10,900 --> 00:22:13,858
Nous allons donc envoyer une demande de poste au serveur.

258
00:22:13,858 --> 00:22:18,294
Lorsque vous envoyez une demande de poste au serveur, comme vous le voyez,

259
00:22:18,294 --> 00:22:24,290
dans la réponse, il dit va ajouter le plat : détails de la semaine de test : description.

260
00:22:24,290 --> 00:22:30,368
Ainsi, comme vous pouvez le voir, les deux informations sont extraites du corps

261
00:22:30,368 --> 00:22:35,772
de ce JSON demandé [INAUDIBLE] et ensuite incluses dans la réponse.

262
00:22:35,772 --> 00:22:39,459
Envoyez-nous une demande de mise à la vaisselle.

263
00:22:39,459 --> 00:22:43,029
Lorsque vous envoyez une demande de mise à la vaisselle, comme vous le voyez,

264
00:22:43,029 --> 00:22:48,654
il indique l'opération PUT non prise en charge sur /plats, et regardez l'état ici.

265
00:22:48,654 --> 00:22:52,580
Il est dit Statut : 403 Interdit.

266
00:22:52,580 --> 00:22:57,570
Cette opération n'est donc pas autorisée sur ce point de terminaison.

267
00:22:57,570 --> 00:23:01,430
Faisons une opération DELETE sur la vaisselle.

268
00:23:01,430 --> 00:23:04,240
Lorsque vous DELETE opération sur la vaisselle,

269
00:23:04,240 --> 00:23:09,270
alors vous remarquerez qu'il dit supprimer tous les plats.

270
00:23:09,270 --> 00:23:11,560
C' est donc la réponse que tu reçois.

271
00:23:12,920 --> 00:23:15,410
Donc, vous voyez que le get post, put and

272
00:23:15,410 --> 00:23:20,610
delete sur le point de terminaison /plats fonctionne comme vous le souhaitez.

273
00:23:20,610 --> 00:23:24,507
Maintenant, nous allons faire un get sur la vaisselle /23.

274
00:23:24,507 --> 00:23:29,017
Donc 23 voici le paramètre,

275
00:23:29,017 --> 00:23:34,710
l'ID du plat que vous voulez obtenir.

276
00:23:34,710 --> 00:23:38,716
Donc, lorsque vous envoyez une demande à ce que le serveur

277
00:23:38,716 --> 00:23:41,878
répondra, enverra les détails du plat : 23 à vous.

278
00:23:41,878 --> 00:23:47,421
Ainsi, vous voyez que le paramètre a été extrait du message de requête

279
00:23:47,421 --> 00:23:50,645
, puis inclus dans le message de réponse.

280
00:23:50,645 --> 00:23:54,850
Faisons un post à ce sujet.

281
00:23:54,850 --> 00:23:59,580
Et comme vous le savez, POST n'est pas autorisé sur ce point de terminaison, et

282
00:23:59,580 --> 00:24:03,450
c'est pourquoi vous obtenez un statut 403 Interdit à ce sujet.

283
00:24:03,450 --> 00:24:05,728
Faisons une opération PUT là-dessus.

284
00:24:05,728 --> 00:24:10,040
Donc, pour l'opération PUT, vous remarquez que le corps contient toujours cela.

285
00:24:10,040 --> 00:24:13,950
Donc, dans POST, lorsque vous tapez une valeur ici,

286
00:24:13,950 --> 00:24:18,720
celle-ci sera conservée et peut être incluse dans d'autres demandes que vous envoyez.

287
00:24:18,720 --> 00:24:25,087
Donc, lorsque vous envoyez une requête PUT sur le point de terminaison, plats/23.

288
00:24:25,087 --> 00:24:28,650
Donc, vous remarquez qu'il est dit mettre à jour le plat, 23.

289
00:24:28,650 --> 00:24:31,780
Va mettre à jour le plat, le nom du plat,

290
00:24:31,780 --> 00:24:36,200
avec des détails, la description du plat ici.

291
00:24:36,200 --> 00:24:41,130
Et puis, faisons une opération de suppression sur ce point de terminaison,

292
00:24:41,130 --> 00:24:45,140
puis il est dit, d suppression de plat : 23.

293
00:24:45,140 --> 00:24:52,210
Donc, ces points de terminaison sont tous pris en charge comme vous le voyez dans cet exemple ici.

294
00:24:52,210 --> 00:24:58,430
Nous avons donc fait d'obtenir les opérations PUT, POSRT, et de supprimer à la fois sur le point de terminaison

295
00:24:58,430 --> 00:25:03,830
/plats et aussi sur le point de terminaison /dishes/ plat id.

296
00:25:03,830 --> 00:25:08,010
Ainsi, vous voyez comment nous avons implémenté la prise en charge du point de terminaison de l'API REST pour

297
00:25:08,010 --> 00:25:12,730
un ensemble de points de terminaison de l'API REST.

298
00:25:12,730 --> 00:25:17,405
Maintenant, avec cela, nous terminons la première partie de cet exercice.

299
00:25:17,405 --> 00:25:22,378
Donc, ici, nous avons vu comment nous pouvons utiliser express pour construire et

300
00:25:22,378 --> 00:25:26,755
implémenter le point de terminaison de l'API REST pour les plats.

301
00:25:26,755 --> 00:25:27,885
Maintenant, c'est le bon moment pour

302
00:25:27,885 --> 00:25:32,895
vous de faire un commit git avec le message Express Simple REST.

303
00:25:33,895 --> 00:25:42,361
Selon le terminal, je vais démarrer le, Serveur.

304
00:25:42,361 --> 00:25:45,845
Vérifiez que trois des éléments ont été modifiés.

305
00:25:45,845 --> 00:25:52,527
Donc, git add, git commit -m,

306
00:25:52,527 --> 00:26:01,750
Express Simple REST, Et vérifiez l'ensemble.

307
00:26:01,750 --> 00:26:08,670
Ainsi, comme vous pouvez le voir, en utilisant Express, vous pouvez facilement implémenter la prise en charge de l'API REST.

308
00:26:08,670 --> 00:26:15,300
Et comme vous pouvez le voir dans cette liste, vous construisez les

309
00:26:15,300 --> 00:26:21,590
méthodes get, PUT, POST et delete de l'application pour tous les points de terminaison de l'API REST comme celui-ci.

310
00:26:21,590 --> 00:26:24,601
Maintenant, imaginez que vous avez un millier de points de terminaison d'API REST,

311
00:26:24,601 --> 00:26:27,347
et vous devez construire quelque chose comme ceci.

312
00:26:27,347 --> 00:26:33,344
Votre fichier index.js va exploser avec tant de points de terminaison d'API REST différents.

313
00:26:33,344 --> 00:26:37,744
Et chacun étant géré en utilisant ses propres app.get,

314
00:26:37,744 --> 00:26:41,536
app.put, app.delete et app.post.

315
00:26:41,536 --> 00:26:46,336
Maintenant, Wxpress prend en charge un moyen de subdiviser ce travail en plusieurs

316
00:26:46,336 --> 00:26:48,442
applications Express,

317
00:26:48,442 --> 00:26:54,580
qui peuvent ensuite être combinées pour former l'ensemble de l'application Express.

318
00:26:54,580 --> 00:26:58,260
C' est là que nous utiliserons l'Express

319
00:26:58,260 --> 00:27:01,960
Router pour pouvoir construire une mini application Express.

320
00:27:01,960 --> 00:27:06,070
Et puis, dans un fichier Express Router,

321
00:27:06,070 --> 00:27:10,040
nous prendrons en charge le point de terminaison de l'API REST pour un groupe de pièces d'API REST.

322
00:27:10,040 --> 00:27:13,190
Ainsi, par exemple, pour les plats, et les plats disHID,

323
00:27:13,190 --> 00:27:15,598
ils peuvent tous être pris en charge dans un seul fichier.

324
00:27:15,598 --> 00:27:20,694
De même, dans l'affectation, vous prendrez en charge un

325
00:27:20,694 --> 00:27:25,339
point de terminaison API REST appelé promotions et promotions/:PromoID.

326
00:27:25,339 --> 00:27:29,570
Ensuite, vous prendrez en charge une autre API REST et

327
00:27:29,570 --> 00:27:34,241
pour les leaders/leaders, et /Leader:LeaderId.

328
00:27:34,241 --> 00:27:39,088
Ainsi, chacun de ces groupes peut être implémenté séparément autant d'

329
00:27:39,088 --> 00:27:43,120
applications Express en utilisant Express Router. C'

330
00:27:43,120 --> 00:27:46,230
est donc ce que je vais vous illustrer pour

331
00:27:46,230 --> 00:27:52,150
le point final de la vaisselle dans la prochaine partie de cet exercice.

332
00:27:52,150 --> 00:27:57,668
Donc, pour ce faire, nous nous rendons compte que si nous mettons tous les fichiers dans un seul dossier,

333
00:27:57,668 --> 00:28:01,498
alors encore une fois votre structure de dossier aura l'air désordonnée.

334
00:28:01,498 --> 00:28:07,731
Donc, ma préférence est de créer un dossier ici nommé routes.

335
00:28:07,731 --> 00:28:12,591
Et ce dossier de routes contiendra tous les routeurs que je vais

336
00:28:12,591 --> 00:28:15,450
concevoir en utilisant le routeur Express.

337
00:28:15,450 --> 00:28:19,465
Donc, dans le dossier routes, je vais créer un nouveau fichier appelé

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

339
00:28:27,270 --> 00:28:31,332
Et ce fichier dishRouter.js contiendra

340
00:28:31,332 --> 00:28:36,972
l'implémentation de la gestion du point de terminaison de l'API REST pour les

341
00:28:36,972 --> 00:28:41,281
points de terminaison /plats et /dishes:dishid.

342
00:28:41,281 --> 00:28:44,626
Maintenant, comment pouvons-nous utiliser Express Router ?

343
00:28:44,626 --> 00:28:46,910
Voyons comment on peut l'utiliser.

344
00:28:46,910 --> 00:28:51,050
Maintenant, Express Router est livré avec Express, donc nous n'avons pas besoin d'installer

345
00:28:51,050 --> 00:28:53,130
un autre module Node.

346
00:28:53,130 --> 00:28:56,970
Au lieu de cela, nous pouvons travailler avec Express que nous avons déjà installé.

347
00:28:56,970 --> 00:29:02,308
Donc, pour ce faire, à cette invite, tapez, const express

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

349
00:29:07,200 --> 00:29:09,950
Notez donc que, puisqu'il s'agit d'une mini-application,

350
00:29:09,950 --> 00:29:15,000
nous avons toujours besoin d'express même dans ce fichier dishRouter.js.

351
00:29:15,000 --> 00:29:18,495
Et d'après votre connaissance des modules Node, une fois que vous définissez un nouveau fichier,

352
00:29:18,495 --> 00:29:20,251
cela devient son propre module Node.

353
00:29:20,251 --> 00:29:24,708
Et ce module Node peut ensuite être importé dans index.js.

354
00:29:24,708 --> 00:29:29,520
Donc, vous voyez déjà la connexion entre la façon dont nous pouvons restructurer notre

355
00:29:29,520 --> 00:29:33,415
application en plusieurs fichiers en utilisant des modules Node.

356
00:29:33,415 --> 00:29:39,525
Donc, nous allons définir require Express, alors nous dirons const

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

358
00:29:44,830 --> 00:29:50,310
Nous avons donc déjà installé BodyParser dans les étapes précédentes de l'exercice,

359
00:29:50,310 --> 00:29:51,634
donc nous pouvons l'utiliser.

360
00:29:51,634 --> 00:29:55,040
Maintenant, pour utiliser un routeur Express,

361
00:29:55,040 --> 00:30:00,636
permettez-moi de déclarer const Dish.Router = Express.R.

362
00:30:00,636 --> 00:30:05,769
Et sur express, il prend en charge cette interface de routeur, donc nous allons simplement

363
00:30:05,769 --> 00:30:11,430
dire express.Router et cela va déclarer Dish.Router comme un routeur Express.

364
00:30:11,430 --> 00:30:13,951
Donc, dans de nombreuses applications Express,

365
00:30:13,951 --> 00:30:18,820
un aperçu ici, je peux gérer ce code lié à Dish.Router ici.

366
00:30:19,830 --> 00:30:26,560
Donc, une fois que je déclare de cela un routeur Express, alors je peux dire Dish.Router.

367
00:30:28,050 --> 00:30:33,337
Et puis sur le Dish.Router, il prend en charge une méthode appelée méthode de route,

368
00:30:33,337 --> 00:30:36,694
qui peut prendre un point de terminaison comme paramètre.

369
00:30:36,694 --> 00:30:41,330
Donc, je voudrais simplement déclarer ce point de terminaison un /.

370
00:30:41,330 --> 00:30:44,620
Maintenant, tu te demandes, ça ne devrait pas être de la vaisselle ?

371
00:30:44,620 --> 00:30:49,630
Vous verrez bientôt que j'ai besoin de monter ce

372
00:30:49,630 --> 00:30:53,140
routeur Express dans mon fichier index.js.

373
00:30:53,140 --> 00:31:01,270
Donc, dans mon fichier index.js, je vais monter ce routeur express au point de terminaison /plats.

374
00:31:01,270 --> 00:31:03,300
Montage d'un routeur express, encore une fois,

375
00:31:03,300 --> 00:31:05,900
un concept de plus que je veux que vous compreniez.

376
00:31:05,900 --> 00:31:08,408
Encore une fois, je vais vous l'illustrer dans un court laps de temps.

377
00:31:08,408 --> 00:31:13,368
Maintenant, le Dishrouter.route signifie qu'en utilisant cette approche,

378
00:31:13,368 --> 00:31:17,526
nous déclarons le point de terminaison à un seul endroit.

379
00:31:17,526 --> 00:31:21,316
Par lequel vous pouvez enchaîner tous obtenir, PUT, POST,

380
00:31:21,316 --> 00:31:25,219
supprimer les méthodes déjà faire ce routeur plat.

381
00:31:25,219 --> 00:31:30,139
Maintenant, quand vous regardez index.js, regardez la façon dont nous avons implicité cela.

382
00:31:30,139 --> 00:31:36,029
Donc, nous avons app.all et puis /plats, app.get/plats et /dishes.

383
00:31:36,029 --> 00:31:40,795
Maintenant, si vous aviez fait une erreur, et leur instructeur app.post

384
00:31:40,795 --> 00:31:45,580
/plats à la place si vous tapez simplement /dish, alors que se passe-t-il ?

385
00:31:45,580 --> 00:31:49,050
L' opération POST ne sera pas prise en charge sur les plats, mais

386
00:31:49,050 --> 00:31:51,730
sera prise en charge sur le point de terminaison /dish.

387
00:31:53,170 --> 00:31:59,220
Pour éviter ce problème, le routeur express prend en charge ce point de terminaison de route.

388
00:31:59,220 --> 00:32:00,090
Sur le point d'extrémité de l'itinéraire,

389
00:32:00,090 --> 00:32:05,860
vous spécifiez simplement le point final sur lequel ce routeur va fonctionner.

390
00:32:05,860 --> 00:32:10,890
Et puis, la méthode get put portion delete, cela simplement enchaîné dans cela.

391
00:32:10,890 --> 00:32:16,300
Donc, ce sera un groupe d'implémentations de méthodes toutes ensemble.

392
00:32:16,300 --> 00:32:20,345
C' est donc la raison pour laquelle ils utilisent un routeur Express.

393
00:32:20,345 --> 00:32:24,185
Donc, il est livré avec un couple de

394
00:32:24,185 --> 00:32:28,525
support très utile pour vous assurer que votre implémentation est correcte.

395
00:32:28,525 --> 00:32:32,190
Alors maintenant que nous allons le faire en tant que routeur à vaisselle,

396
00:32:32,190 --> 00:32:37,920
ce que je vais faire, c'est que je vais enlever cette chose d'ici.

397
00:32:37,920 --> 00:32:42,990
Maintenant, ce point de plats IDN, je vais

398
00:32:42,990 --> 00:32:47,565
vous laisser ça comme un exercice dans votre première mission, mais

399
00:32:47,565 --> 00:32:54,180
le point final de la vaisselle, je vais couper tout ça, jusqu'à tous.

400
00:32:54,180 --> 00:32:59,350
Je vais découper cela de index.js5 et le

401
00:32:59,350 --> 00:33:04,580
déplacer dans le Dish.Router ici.

402
00:33:04,580 --> 00:33:11,887
Maintenant, quand je déplace ça dans le Dish.Router, je n'ai plus besoin de cette app.all.

403
00:33:11,887 --> 00:33:18,267
Je l'enchaîne simplement dans la route, donc je vais simplement dire .all et

404
00:33:18,267 --> 00:33:24,210
ensuite je n'ai plus besoin de cette définition de point final là.

405
00:33:24,210 --> 00:33:24,900
C' est ça. Donc

406
00:33:24,900 --> 00:33:28,390
ça dira .all et ensuite on dira req, res, suivant.

407
00:33:28,390 --> 00:33:31,470
Et cela, tout fonctionne sur ce point de terminaison particulier

408
00:33:31,470 --> 00:33:33,690
déjà spécifié ici.

409
00:33:33,690 --> 00:33:37,920
Maintenant, non seulement cela, nous pouvons enchaîner les méthodes restantes.

410
00:33:37,920 --> 00:33:41,360
C' est pour ça que vous voyez que j'ai enlevé le point-virgule d'ici.

411
00:33:41,360 --> 00:33:46,270
Je vais supprimer cette application, puis l'attacher à cela.

412
00:33:46,270 --> 00:33:51,600
Donc, obtient aussi est changé dans la route, et puis je peux supprimer

413
00:33:53,140 --> 00:33:57,740
cette partie, la manipulation restera exactement la même qu'avant.

414
00:33:57,740 --> 00:34:05,520
Donc de même, je vais supprimer l'application là.

415
00:34:05,520 --> 00:34:10,850
Et encore une fois, supprimez cela de la publication.

416
00:34:10,850 --> 00:34:11,865
Et la même chose.

417
00:34:17,447 --> 00:34:22,248
Pour mettre, Et

418
00:34:22,248 --> 00:34:27,360
pour supprimer, la même chose.

419
00:34:27,360 --> 00:34:30,800
Notez donc qu'il n'y a pas de points-virgules ici

420
00:34:30,800 --> 00:34:34,670
, ici ou ici, mais le dernier, la suppression, aura le point-virgule en place.

421
00:34:34,670 --> 00:34:40,810
Donc, ce groupe est une seule unité implémentée en utilisant

422
00:34:40,810 --> 00:34:45,930
le routeur plat sur ce routeur particulier, et tous ceux-ci sont enchaînés ensemble.

423
00:34:47,640 --> 00:34:52,610
Et aussi, bien sûr, avec suppression, je dois supprimer ce point final.

424
00:34:52,610 --> 00:34:56,626
C' est ça, tu vois, structure propre du code ici.

425
00:34:56,626 --> 00:35:02,100
Donc, essentiellement, finit par implémenter le Dish.Router, à droite,

426
00:35:02,100 --> 00:35:07,700
rappelez-vous, ce Dish.Router est défini dans le fichier dishRouter.js.

427
00:35:07,700 --> 00:35:12,870
Maintenant, j'ai besoin d'exporter ceci à partir de ce module de nœud.

428
00:35:12,870 --> 00:35:17,500
Donc, pour exporter cela, je vais aller au bas ici et

429
00:35:17,500 --> 00:35:22,877
je vais dire module.exports et

430
00:35:22,877 --> 00:35:26,170
dire, Dish.Router.

431
00:35:26,170 --> 00:35:27,030
C' est ça.

432
00:35:27,030 --> 00:35:34,920
Alors maintenant, mon Dish.Router exporte tout ce dont j'ai besoin.

433
00:35:34,920 --> 00:35:41,170
Maintenant, tu regardes ça et tu dis, qu'en est-il du plat du Colon.

434
00:35:41,170 --> 00:35:44,302
Cela fera partie de votre première mission.

435
00:35:44,302 --> 00:35:47,010
Non seulement cela, vous allez implémenter pour

436
00:35:47,010 --> 00:35:53,000
deux points de terminaison d'API REST supplémentaires, les promotions et les leaders.

437
00:35:53,000 --> 00:35:57,960
Mais cela vous montre déjà la structure de ce à quoi

438
00:35:57,960 --> 00:36:03,080
ressemble une implémentation de routeurs Express de la prise en charge de l'API res.

439
00:36:03,080 --> 00:36:05,070
Donc, c'est pour Dishrouter.route.

440
00:36:05,070 --> 00:36:09,848
Et une dernière chose avant que j'oublie,

441
00:36:09,848 --> 00:36:18,140
nous devrions dire Disdishrouter.use (bodyparser.json ()).

442
00:36:20,326 --> 00:36:23,852
Maintenant, une fois que vous avez terminé l'implémentation du Dish.Router,

443
00:36:23,852 --> 00:36:26,130
nous pouvons maintenant aller dans le fichier index.js.

444
00:36:26,130 --> 00:36:34,020
Puisque ce Dish.Router est un autre module de noeud, un module de noeud fin néanmoins.

445
00:36:34,020 --> 00:36:38,120
Nous devons donc importer ceci dans notre application.

446
00:36:38,120 --> 00:36:44,250
Donc, ici, je vais importer const

447
00:36:46,000 --> 00:36:52,100
Dish.Router est égal à exiger.

448
00:36:52,100 --> 00:36:56,626
Maintenant, puisque c'est un module de nœud basé sur un fichier,

449
00:36:56,626 --> 00:37:03,000
je vais dire. /Routes/Routeur à vaisselle.

450
00:37:03,000 --> 00:37:09,850
Et une fois que je les ai déclarés là-bas, alors je descends dans le code ici.

451
00:37:09,850 --> 00:37:14,230
Et juste là, je dis app.use.

452
00:37:14,230 --> 00:37:19,130
Et je monte le routeur à un point de terminaison.

453
00:37:19,130 --> 00:37:20,930
Alors, comment puis-je monter le routeur ?

454
00:37:20,930 --> 00:37:25,790
Le premier paramètre ici, je vais spécifier des plats de barre oblique.

455
00:37:25,790 --> 00:37:29,480
Et le deuxième paramètre, spécifiez Dish.Router.

456
00:37:30,810 --> 00:37:31,830
Et c'est tout.

457
00:37:31,830 --> 00:37:35,080
Donc, ce que cela signifie est que dans mon application express,

458
00:37:36,205 --> 00:37:41,435
toute demande venant à ce point de terminaison de plats slash sera gérée par Dish.Router,

459
00:37:41,435 --> 00:37:45,615
et cela sera fait par le code qui est présent ici,

460
00:37:45,615 --> 00:37:50,755
parce que nous avons dit route Dish.Router, et donc remarquez que cela dit barre oblique, ce

461
00:37:50,755 --> 00:37:54,575
qui signifie que cette est monté au point de terminaison des plats de barre oblique.

462
00:37:54,575 --> 00:37:59,378
C' est pourquoi tout ce qui passe par des plats slash sera envoyé à cela et

463
00:37:59,378 --> 00:38:00,890
sera géré par ceci.

464
00:38:02,730 --> 00:38:07,000
Un gros indice pour vous de penser à la façon dont vous implémenteriez

465
00:38:07,000 --> 00:38:11,020
ce point de terminaison de l'ID de plat du côlon.

466
00:38:11,020 --> 00:38:16,440
Vous utiliserez toujours le même fichier dishRouter.js pour implémenter également le support de

467
00:38:16,440 --> 00:38:21,670
ce point de fin /dishes/:dishid.

468
00:38:21,670 --> 00:38:24,580
C' est un autre indice pour toi, ok.

469
00:38:24,580 --> 00:38:29,260
Avec ces modifications, sauvegardons les modifications que nous avons apportées

470
00:38:29,260 --> 00:38:33,870
à notre application, puis redémarrez notre serveur

471
00:38:33,870 --> 00:38:37,480
, puis jetez un oeil à la façon dont notre serveur va faire son travail.

472
00:38:38,850 --> 00:38:44,190
Aller au terminal, laissez-moi redémarrer ce serveur en tapant npm start.

473
00:38:44,190 --> 00:38:47,340
Et une fois que le serveur est opérationnel, je vais aller voir le facteur et

474
00:38:47,340 --> 00:38:50,220
envoyer des demandes du facteur à ce serveur.

475
00:38:51,220 --> 00:38:57,110
Aller au facteur, maintenant je sais que mon serveur ne supporte que

476
00:38:57,110 --> 00:39:01,690
le point final de la vaisselle, j'ai implémenté la partie ID de plat de celui-ci.

477
00:39:01,690 --> 00:39:05,570
Alors laissez-moi envoyer une demande get aux plats locaux d'accueil et

478
00:39:05,570 --> 00:39:08,590
vous verrez que cela fonctionne exactement comme avant.

479
00:39:08,590 --> 00:39:12,910
Maintenant, si vous avez fait une demande précédente dans la publication, vous pouvez simplement cliquer dessus

480
00:39:12,910 --> 00:39:15,150
, puis renvoyer cette demande.

481
00:39:16,940 --> 00:39:26,680
L' opération de mise ne fonctionne pas, après l'opération, fonctionne comme vous le voyez.

482
00:39:26,680 --> 00:39:32,370
Et puis provoquons l'opération de suppression sur la vaisselle.

483
00:39:32,370 --> 00:39:36,210
Et il dit supprimer tous les plats comme prévu.

484
00:39:36,210 --> 00:39:45,230
C' est donc l'implémentation de la prise en charge de l'API de repos en utilisant le routeur express.

485
00:39:45,230 --> 00:39:48,950
Avec cela, nous terminons la seconde moitié de cet exercice.

486
00:39:48,950 --> 00:39:54,490
C' est un bon moment pour vous de faire un commentaire get avec le routeur express message.

487
00:39:55,830 --> 00:40:00,896
Maintenant que nous avons terminé cet exercice où nous avons vu comment Express peut

488
00:40:00,896 --> 00:40:06,450
être utilisé pour soutenir la mise en œuvre de la prise en charge du point de terminaison de l'API Res sur notre serveur,

489
00:40:06,450 --> 00:40:08,900
ainsi que l'utilisation

490
00:40:08,900 --> 00:40:13,906
du routeur Express, il est temps de passer à la première affectation qui suit cette leçon.

491
00:40:13,906 --> 00:40:20,030
[ MUSIQUE]