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

2
00:00:04,528 --> 00:00:09,392
Ahora que hemos entendido la API REST y expreso el soporte para la

3
00:00:09,392 --> 00:00:13,293
API REST, pasemos al siguiente ejercicio.

4
00:00:13,293 --> 00:00:17,168
Donde veremos cómo vamos a desarrollar la API REST

5
00:00:17,168 --> 00:00:19,972
utilizando el soporte dado por express.

6
00:00:19,972 --> 00:00:23,110
Y también, el uso de router express,

7
00:00:23,110 --> 00:00:28,110
lo que nos permite organizar nuestro código de una manera más adecuada

8
00:00:28,110 --> 00:00:33,231
cuando se necesita para soportar un gran número de endpoints API REST.

9
00:00:35,080 --> 00:00:39,965
Para empezar, continuando con la carpeta node-express

10
00:00:39,965 --> 00:00:44,565
que hemos estado trabajando en el servidor web basado en Express.

11
00:00:44,565 --> 00:00:50,546
En el símbolo del sistema, instalemos body-parser,

12
00:00:50,546 --> 00:00:57,729
así que para hacerlo, escriba npm install body-parser —save.

13
00:00:57,729 --> 00:01:02,674
Y estamos usando la versión 1.18.3 de

14
00:01:02,674 --> 00:01:06,689
body-parser en este curso aquí.

15
00:01:06,689 --> 00:01:12,151
Ahora, una vez que hemos instalado body-parser, entonces entra en nuestro código.

16
00:01:12,151 --> 00:01:16,476
En el index.js5,

17
00:01:16,476 --> 00:01:22,723
permítanme requerir BodyParser, así que

18
00:01:22,723 --> 00:01:28,492
diremos que const BodyParser

19
00:01:28,492 --> 00:01:33,553
requiere body-parser.

20
00:01:33,553 --> 00:01:39,891
Y luego, cada vez que necesite usar un middleware,

21
00:01:39,891 --> 00:01:46,558
dirás, app.use (BodyParser.json).

22
00:01:46,558 --> 00:01:51,782
Así que esto nos permite analizar el cuerpo del mensaje de solicitud,

23
00:01:51,782 --> 00:01:54,989
que está formateado en formato JSON.

24
00:01:57,466 --> 00:02:03,374
Una vez que hayamos completado eso, empecemos a

25
00:02:03,374 --> 00:02:08,678
construir el soporte de la API REST para el endpoint /dish.

26
00:02:08,678 --> 00:02:12,797
El uso de los

27
00:02:12,797 --> 00:02:16,339
métodos app.all, app.get, put, post y delete son compatibles con express.

28
00:02:16,339 --> 00:02:21,692
Entonces, para hacer eso, permítanme comenzar diciendo

29
00:02:21,692 --> 00:02:26,725
app.all, y los primeros parámetros

30
00:02:26,725 --> 00:02:31,937
que app.all toma es el punto final.

31
00:02:31,937 --> 00:02:36,360
Entonces, en este caso, estoy especificando el punto final de /dishes.

32
00:02:36,360 --> 00:02:43,560
Y luego el segundo parámetro es la función de devolución de llamada,

33
00:02:43,560 --> 00:02:49,564
req, res, a continuación, los tres parámetros aquí.

34
00:02:49,564 --> 00:02:56,518
Y dentro de esta función de devolución de llamada, vamos a manejar la solicitud entrante.

35
00:02:56,518 --> 00:03:01,740
Así que diremos, cuando llegue una solicitud, para todas las peticiones.

36
00:03:01,740 --> 00:03:06,993
Entonces, cuando decimos app.all, no importa qué método se invoque,

37
00:03:06,993 --> 00:03:12,864
get, put, post o delete, para el endpoint de la API REST /dish,

38
00:03:12,864 --> 00:03:17,190
este código se ejecutará primero de forma predeterminada aquí.

39
00:03:17,190 --> 00:03:26,376
Entonces diremos res StatusCode es 200 y

40
00:03:26,376 --> 00:03:31,889
luego Res.setHeader y

41
00:03:31,889 --> 00:03:39,248
digamos texto de tipo de contenido.

42
00:03:39,248 --> 00:03:44,290
Enviaremos texto sin formato ahora, en lugar de texto HTML.

43
00:03:44,290 --> 00:03:47,575
Esto debería ser suficiente para los extremos de la API REST.

44
00:03:47,575 --> 00:03:52,420
Más adelante, enviaremos los datos en forma de JSON una vez

45
00:03:52,420 --> 00:03:54,640
que podamos recuperar los datos de la base de datos.

46
00:03:54,640 --> 00:03:57,340
Entonces eso vendrá en uno de los ejercicios posteriores.

47
00:03:57,340 --> 00:04:04,389
Por el momento, simplemente enviaremos respuestas de texto sin formato al cliente.

48
00:04:04,389 --> 00:04:10,785
Ahora, después de estos dos, el middleware aquí aún no se ha completado.

49
00:04:10,785 --> 00:04:17,590
Entonces llamaremos a la siguiente función aquí, por lo que la siguiente como ves se refiere a esto siguiente.

50
00:04:17,590 --> 00:04:24,954
Así que cuando llame a continuación, lo que significa es que continuará buscando

51
00:04:24,954 --> 00:04:29,665
especificaciones adicionales abajo aquí,

52
00:04:29,665 --> 00:04:33,790
que coincidirán con este punto final de platos.

53
00:04:33,790 --> 00:04:38,282
Así que esto se haría para todas las solicitudes, obtener, poner, publicar y

54
00:04:38,282 --> 00:04:42,712
eliminar, en los platos, y continuará con la siguiente.

55
00:04:42,712 --> 00:04:48,436
Así que aquí, supongamos que obtenemos una solicitud de obtener

56
00:04:48,436 --> 00:04:53,792
en los platos, lo que significa que ahora,

57
00:04:53,792 --> 00:04:58,961
si obtenemos una solicitud de obtener en los platos

58
00:04:58,961 --> 00:05:04,133
, primero esto se ejecutará,

59
00:05:04,133 --> 00:05:09,304
y luego el req y res se pasarán

60
00:05:09,304 --> 00:05:13,760
a esta segunda llamada aquí.

61
00:05:13,760 --> 00:05:17,481
Así que en este caso, ya no

62
00:05:17,481 --> 00:05:21,335
necesitaré el siguiente, porque no voy a llamar más abajo.

63
00:05:21,335 --> 00:05:26,444
Voy a completar el manejo justo dentro de este método aquí mismo.

64
00:05:26,444 --> 00:05:31,337
Entonces, si modificamos el req o res dentro de este código,

65
00:05:31,337 --> 00:05:36,607
entonces cuando llame al siguiente, ese objeto modificado

66
00:05:36,607 --> 00:05:41,130
se pasará como parámetro a esto.

67
00:05:41,130 --> 00:05:45,698
Entonces, si ha emitido una solicitud get en los platos, entonces esto es lo que se

68
00:05:45,698 --> 00:05:50,202
ejecutará justo después de esto, por lo que este próximo hará que pase.

69
00:05:50,202 --> 00:05:55,836
Y luego aquí, te das cuenta de que modificamos el objeto res aquí.

70
00:05:55,836 --> 00:06:02,770
Y la modificación se llevará como el parámetro de entrada a esta función aquí.

71
00:06:03,940 --> 00:06:09,380
Así que dentro de esta función get, podemos decir, por ejemplo, en este momento,

72
00:06:09,380 --> 00:06:15,197
simplemente voy a enviar de vuelta un mensaje simple,

73
00:06:15,197 --> 00:06:20,170
diremos, te enviará todos los platos.

74
00:06:20,170 --> 00:06:25,650
Más tarde, cuando recuperemos la información de los platos de la base de datos

75
00:06:25,650 --> 00:06:31,036
después de aprender sobre MongoDB, entonces esta función

76
00:06:31,036 --> 00:06:36,534
devolverá esos datos JSON al cliente, ya que está en una solicitud get aquí.

77
00:06:36,534 --> 00:06:40,566
Ahora, en el curso anterior, habíamos utilizado el servidor JSON, y

78
00:06:40,566 --> 00:06:44,457
el servidor JSON ya estaba proporcionando todos estos para nosotros.

79
00:06:44,457 --> 00:06:46,965
Ahora está viendo cómo construiría

80
00:06:46,965 --> 00:06:50,268
un servidor real que procesará la solicitud entrante.

81
00:06:50,268 --> 00:06:53,139
Y luego generar una respuesta adecuada y

82
00:06:53,139 --> 00:06:57,857
enviársela de vuelta en respuesta a la solicitud recibida del lado del cliente.

83
00:06:57,857 --> 00:07:02,611
Y aquí es donde el usuario expresa, como vemos aquí, es útil.

84
00:07:02,611 --> 00:07:06,971
Así que hemos manejado obtener,

85
00:07:06,971 --> 00:07:14,387
vamos a manejar post también en platos aquí.

86
00:07:16,120 --> 00:07:21,064
Y de nuevo, los parámetros serían (req, res,

87
00:07:21,064 --> 00:07:26,722
next), y esa función que se invoca estará aquí.

88
00:07:26,722 --> 00:07:31,606
Ahora, cuando se recibe la solicitud get, porque aquí, estás llamando a rest.end.

89
00:07:31,606 --> 00:07:36,982
Así que ese fin es el manejo de la solicitud get y no activa la respuesta

90
00:07:36,982 --> 00:07:42,130
para ser enviada de vuelta, o la respuesta para ser enviada de vuelta al cliente en este punto.

91
00:07:42,130 --> 00:07:47,050
Ahora, si obtiene una solicitud de publicación en platos, de nuevo, se ejecutará todo este código.

92
00:07:47,050 --> 00:07:52,859
Y luego, debido a esto siguiente, caerá en esta llamada de función aquí.

93
00:07:52,859 --> 00:07:57,000
Y luego el código aquí, se ejecutará, por lo que cuando reciba una

94
00:07:59,610 --> 00:08:04,820
publicación La solicitud de publicación que viene desde el servidor llevará cierta información

95
00:08:04,820 --> 00:08:08,710
en el cuerpo del mensaje en forma de datos JSON.

96
00:08:08,710 --> 00:08:13,650
Verán cuál es la forma de los datos JSON cuando

97
00:08:13,650 --> 00:08:18,910
miramos más adelante cuando probamos el punto final usando la red postal.

98
00:08:18,910 --> 00:08:24,700
Le mostraré qué contendrá el cuerpo del mensaje de solicitud de publicación.

99
00:08:24,700 --> 00:08:27,710
Pero en este punto, lo que voy a hacer es

100
00:08:27,710 --> 00:08:33,420
extraer la información del cuerpo.

101
00:08:33,420 --> 00:08:38,545
Y aquí cuando usamos el analizador body, lo que sucede es que para

102
00:08:38,545 --> 00:08:44,541
la solicitud entrante, el cuerpo de la solicitud entrante se analizará y

103
00:08:44,541 --> 00:08:48,237
luego se agregará al objeto req como req.body.

104
00:08:48,237 --> 00:08:52,843
Así que el req.body te dará acceso a lo que esté dentro de ese cuerpo

105
00:08:52,843 --> 00:08:54,050
del mensaje.

106
00:08:54,050 --> 00:08:58,642
Entonces, cuando envío la solicitud,

107
00:08:58,642 --> 00:09:04,339
agregaré información al

108
00:09:04,339 --> 00:09:10,034
cuerpo de la solicitud en forma de una cadena JSON que

109
00:09:10,034 --> 00:09:15,570
contiene un nombre y una descripción.

110
00:09:15,570 --> 00:09:20,081
Así que voy a extraer estas dos piezas de información y

111
00:09:20,081 --> 00:09:26,080
luego imprimirlas y luego enviarlas de vuelta al cliente en el mensaje de respuesta.

112
00:09:26,080 --> 00:09:32,840
Así que puedo decir, req.cuerpo.y luego nombre.

113
00:09:32,840 --> 00:09:38,298
Y entonces la expectativa es que cuando el cliente envía el mensaje de publicación,

114
00:09:38,298 --> 00:09:42,183
el cuerpo del mensaje de publicación contendrá una cadena JSON,

115
00:09:42,183 --> 00:09:47,108
que también contendrá la propiedad name en la cadena JSON.

116
00:09:47,108 --> 00:09:52,646
Así que req.body.name plus y

117
00:09:52,646 --> 00:09:57,952
aquí es donde incluiré

118
00:09:57,952 --> 00:10:06,970
con detalles: + req.body.description.

119
00:10:06,970 --> 00:10:11,654
Entonces, cualquier cosa que contenga la cadena JSON en el req.body, pero la

120
00:10:11,654 --> 00:10:15,963
cadena JSON se analizará en un objeto JavaScript y

121
00:10:15,963 --> 00:10:19,909
se agregará al objeto de solicitud como un cuerpo de propiedad.

122
00:10:19,909 --> 00:10:22,971
El objeto JavaScript apunta a lo que

123
00:10:22,971 --> 00:10:27,440
vino como la cadena JSON en el cuerpo del mensaje de solicitud.

124
00:10:27,440 --> 00:10:31,750
Entonces, es por eso que puedo analizar la propiedad name, la propiedad description,

125
00:10:31,750 --> 00:10:38,000
puede tener la propiedad price, la propiedad image, y todo eso.

126
00:10:38,000 --> 00:10:42,260
Entonces, si ha tomado el curso anterior, ha visto la estructura de un

127
00:10:42,260 --> 00:10:48,850
objeto de plato, en forma de una cadena JSON o el objeto JavaScript allí.

128
00:10:48,850 --> 00:10:52,920
Entonces, el nombre y la descripción te suena familiar.

129
00:10:52,920 --> 00:10:55,400
Así que eso es exactamente lo que estoy usando aquí.

130
00:10:55,400 --> 00:11:00,823
Ahora mismo sólo estoy extrayendo el nombre y la descripción del cuerpo y

131
00:11:00,823 --> 00:11:04,220
luego enviándolo de vuelta al cliente en este cuerpo.

132
00:11:04,220 --> 00:11:09,460
Así que solo estoy construyendo este mensaje de respuesta aquí usando la información

133
00:11:09,460 --> 00:11:13,150
del cuerpo del mensaje de solicitud y luego enviándolo de vuelta al cliente.

134
00:11:13,150 --> 00:11:17,830
Así puedo confirmar que el servidor está recibiendo lo que estoy enviando

135
00:11:17,830 --> 00:11:19,930
en el cuerpo del mensaje.

136
00:11:19,930 --> 00:11:21,820
Así que esta es la solicitud de publicación.

137
00:11:23,390 --> 00:11:30,620
Ahora para poner, déjame copiar esto, y luego pegarlo aquí.

138
00:11:30,620 --> 00:11:35,360
Y luego para poner en ese extremo platos,

139
00:11:35,360 --> 00:11:39,100
porque poner en el extremo de los platos no tiene sentido.

140
00:11:39,100 --> 00:11:44,440
Una publicación significa que estás publicando un nuevo plato en los servidores.

141
00:11:44,440 --> 00:11:50,992
Un punto final de los platos no tiene sentido,

142
00:11:50,992 --> 00:11:55,516
así que aquí lo que voy a hacer es

143
00:11:55,516 --> 00:12:00,664
responder con el mensaje PUT

144
00:12:00,664 --> 00:12:06,660
operación no compatible con /dishes.

145
00:12:06,660 --> 00:12:14,790
Además, también lo haré, Incluir un código de estado de 403.

146
00:12:14,790 --> 00:12:19,987
403 significa que su operación no es compatible.

147
00:12:19,987 --> 00:12:24,319
Así que si mira hacia atrás en la tabla de códigos de respuesta HTTP,

148
00:12:24,319 --> 00:12:30,600
verá el código correspondiente 403 lo que representa allí.

149
00:12:30,600 --> 00:12:34,650
Así que eso es lo que estoy usando para publicar.

150
00:12:34,650 --> 00:12:39,879
Para eliminar, voy a copiar

151
00:12:39,879 --> 00:12:44,777
este y para eliminar voy a,

152
00:12:47,537 --> 00:12:55,960
Simplemente analizar esto, y luego vamos a decir, Eliminar todos los platos.

153
00:12:55,960 --> 00:13:02,200
Entonces, cuando envía una solicitud de eliminación en ese endpoint /dish.

154
00:13:02,200 --> 00:13:04,900
Se interpreta en el sentido de que

155
00:13:04,900 --> 00:13:08,960
el cliente quiere eliminar toda la información de los platos en el lado del servidor.

156
00:13:08,960 --> 00:13:11,300
Ahora, esta es una operación peligrosa, así

157
00:13:11,300 --> 00:13:15,540
que asegúrese de no permitir que los usuarios asociados lo hagan.

158
00:13:15,540 --> 00:13:17,750
Así que más adelante, cuando estudiemos la autenticación,

159
00:13:17,750 --> 00:13:23,220
veremos cómo podemos volver a verificar esta operación solo a usuarios privilegiados.

160
00:13:23,220 --> 00:13:28,620
Pero de nuevo, como ves, esta es una operación peligrosa, así que ten en cuenta al respecto.

161
00:13:28,620 --> 00:13:33,340
Así que ahora ves que en el punto final de los platos, tenemos

162
00:13:33,340 --> 00:13:35,130
soporte para obtener, poner, publicar y eliminar.

163
00:13:35,130 --> 00:13:41,520
También vamos a apoyar eso en los platos/:Dishid punto final.

164
00:13:41,520 --> 00:13:46,280
Así que voy a copiar los métodos get, put, post y delete desde aquí,

165
00:13:48,530 --> 00:13:54,175
y luego los llama a todos también para ser soportados en

166
00:13:54,175 --> 00:14:00,360
platos/:Dishid.

167
00:14:00,360 --> 00:14:06,913
Así que esto es para obtener, y copiamos eso y

168
00:14:06,913 --> 00:14:11,480
publicamos, ponemos y eliminamos.

169
00:14:11,480 --> 00:14:13,330
¿ Cómo manejamos cada uno de estos?

170
00:14:13,330 --> 00:14:19,460
Entonces, para obtener, si recibo una solicitud en platos/dishid,

171
00:14:19,460 --> 00:14:22,750
lo que me gustaría hacer es extraer este parámetro y

172
00:14:22,750 --> 00:14:27,000
luego enviarlo de vuelta en la solicitud, en el mensaje de respuesta.

173
00:14:27,000 --> 00:14:29,725
Así que diremos, enviaremos,

174
00:14:39,018 --> 00:14:41,625
Detalles del plato.

175
00:14:44,584 --> 00:14:46,910
¿ Ahora qué plato?

176
00:14:46,910 --> 00:14:51,570
Esta información se encuentra en el parámetro.

177
00:14:51,570 --> 00:14:55,335
Por lo tanto, este valor de parámetro se puede recuperar de

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

179
00:15:02,300 --> 00:15:07,510
Así que este DishID, como ve, el nombre que usa aquí debería coincidir con este valor aquí.

180
00:15:07,510 --> 00:15:09,370
Entonces, si simplemente ve ID aquí,

181
00:15:09,370 --> 00:15:13,220
esto también debería corresponder al SID dado aquí.

182
00:15:13,220 --> 00:15:17,920
Entonces el nombre en sí no significa nada, excepto que este nombre de parámetro y

183
00:15:17,920 --> 00:15:23,400
esto deberían coincidir entre sí, para que pueda recuperar la información correctamente.

184
00:15:25,090 --> 00:15:30,470
Así que diremos, envía los parámetros del plato Dishid y

185
00:15:30,470 --> 00:15:37,360
luego te diremos.

186
00:15:37,360 --> 00:15:43,160
Así que de esa manera sabemos que el servidor está obteniendo el parámetro de plato..

187
00:15:43,160 --> 00:15:47,350
Así que si digo /dishes/23 hay varias respuestas

188
00:15:47,350 --> 00:15:52,350
enviarán los detalles del plato 23 a usted y así sucesivamente.

189
00:15:52,350 --> 00:15:57,632
Así que veremos cómo funciona cuando usamos post para probar este servidor.

190
00:15:57,632 --> 00:15:59,584
Ahora para el puesto.

191
00:15:59,584 --> 00:16:03,530
Para la publicación, este método no va a ser compatible,

192
00:16:03,530 --> 00:16:07,060
así que solo voy a copiar esta parte.

193
00:16:07,060 --> 00:16:12,205
no tiene sentido hacer una publicación en un ID de plato específico,

194
00:16:12,205 --> 00:16:16,375
porque no estás tratando de agregar un plato nuevo.

195
00:16:16,375 --> 00:16:21,360
Pero desea modificar, y la modificación se realiza mediante el uso de la operación put.

196
00:16:21,360 --> 00:16:28,111
Así que diremos, la operación POST no es compatible con /dishes.

197
00:16:33,331 --> 00:16:36,360
Y luego voy a añadir en el.

198
00:16:39,750 --> 00:16:43,197
Req.Params.Dishid.

199
00:16:43,197 --> 00:16:47,535
Por lo tanto, esto enviará de vuelta diciendo que no es compatible con

200
00:16:47,535 --> 00:16:50,752
platos/23 en el mensaje de respuesta.

201
00:16:50,752 --> 00:16:55,926
Ahora, para PUT, Para PUT, vamos a decir,

202
00:16:59,902 --> 00:17:08,799
res.end y decir Will, actualizar el plato.

203
00:17:13,902 --> 00:17:20,978
Req.Params.Dishid.

204
00:17:28,915 --> 00:17:31,675
O mejor dicho, lo haremos de esta manera.

205
00:17:33,785 --> 00:17:39,141
Primero escribiré, Así que

206
00:17:39,141 --> 00:17:45,345
res.write se puede usar para agregar una línea al mensaje de respuesta.

207
00:17:45,345 --> 00:17:50,077
Así que diremos actualizar el plato.

208
00:17:50,077 --> 00:17:58,655
Y diremos Req.Params.Dishid.

209
00:17:58,655 --> 00:18:06,245
Y dado que esta es una operación PUT, y si el cuerpo contiene la cadena JSON,

210
00:18:06,245 --> 00:18:10,277
que contiene los detalles del plato,

211
00:18:10,277 --> 00:18:17,310
puedo extraer la cadena JSON porque estamos usando el analizador corporal.

212
00:18:17,310 --> 00:18:21,649
Así que vamos a decir Will

213
00:18:21,649 --> 00:18:26,569
actualizar el plato:.

214
00:18:30,234 --> 00:18:31,924
¿ Qué plato?

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

216
00:18:38,122 --> 00:18:38,657
Además.

217
00:18:40,531 --> 00:18:45,701
Con detalles,

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

219
00:18:59,320 --> 00:19:08,800
Ahora, cuando actualicemos el plato, quiero añadir una, Nueva línea allí.

220
00:19:08,800 --> 00:19:11,411
Así que voy a decir '/n' allí.

221
00:19:14,500 --> 00:19:19,257
Así que cuando haces un PUT, estás enviando la información sobre qué ID de plato

222
00:19:19,257 --> 00:19:22,674
estás actualizando, y también, los detalles que estás actualizando.

223
00:19:22,674 --> 00:19:26,997
El nombre y la descripción,

224
00:19:26,997 --> 00:19:34,318
que debe estar en el cuerpo del mensaje PUT allí.

225
00:19:34,318 --> 00:19:41,868
Para eliminar, Va a decir Eliminar plato, y req.params.Dishid.

226
00:19:41,868 --> 00:19:47,970
Y así, para eliminar, esta es la operación que se realizará.

227
00:19:47,970 --> 00:19:51,607
Así que ves que ahora tenemos las

228
00:19:51,607 --> 00:19:55,838
operaciones get, put, post y delete en los platos/Dishid, endpoint, y

229
00:19:55,838 --> 00:20:00,590
también las operaciones get, put, post en el /dish, endpoint.

230
00:20:00,590 --> 00:20:03,765
Así que ahora vamos a guardar los cambios.

231
00:20:03,765 --> 00:20:05,387
Y vuelve a iniciar nuestro servidor.

232
00:20:08,245 --> 00:20:10,643
Inicie el servidor diciendo npm start.

233
00:20:10,643 --> 00:20:15,611
Vamos ahora a cartero y enviar algunas solicitudes a este servidor y

234
00:20:15,611 --> 00:20:17,270
ver lo que devuelve.

235
00:20:17,270 --> 00:20:22,287
Permítanme primero emitir un llegar a host local 3,000 y ver lo que devuelve.

236
00:20:22,287 --> 00:20:26,832
Por lo tanto, cuando envía una solicitud para obtener el host local 3.000,

237
00:20:26,832 --> 00:20:30,798
todavía está devolviendo la página HTML de inicio del índice,

238
00:20:30,798 --> 00:20:35,069
porque el manejo de archivos estáticos todavía está en su lugar.

239
00:20:35,069 --> 00:20:41,564
Ahora déjame enviar una solicitud a localhost: 3000/platos, y esto,

240
00:20:41,564 --> 00:20:48,383
como esperas, te enviará una respuesta diciendo que te enviaremos todos los platos.

241
00:20:48,383 --> 00:20:56,350
Ahora, enviemos una solicitud POST a localhost: 3000/platos.

242
00:20:56,350 --> 00:21:01,200
Entonces, aquí es donde puede cambiar los diversos métodos que desea ejecutar.

243
00:21:01,200 --> 00:21:02,880
Pero cuando envías una publicación,

244
00:21:02,880 --> 00:21:08,570
quieres incluir algunos detalles en el cuerpo del mensaje

245
00:21:08,570 --> 00:21:12,920
porque alguien espera que envíes información en el cuerpo del mensaje.

246
00:21:12,920 --> 00:21:17,967
Así que haga clic en el cuerpo aquí y haga clic en crudo aquí.

247
00:21:17,967 --> 00:21:23,395
Y luego, para el texto, seleccione esto en JSON, así que

248
00:21:23,395 --> 00:21:26,377
use la aplicación JSON.

249
00:21:26,377 --> 00:21:31,081
Entonces, el tipo de contenido sería Application/JSON en

250
00:21:31,081 --> 00:21:34,220
la solicitud que envía.

251
00:21:34,220 --> 00:21:38,658
Entonces, dado que este es un objeto JSON

252
00:21:38,658 --> 00:21:43,103
, entonces entre llaves, diré nombre.

253
00:21:45,320 --> 00:21:50,727
Simplemente escribiré la prueba

254
00:21:50,727 --> 00:21:53,939
y la descripción.

255
00:22:01,212 --> 00:22:05,760
Alguna información estándar aquí, por lo que puede ver que esta es una cadena JSON que

256
00:22:05,760 --> 00:22:10,900
contiene dos propiedades, nombre y descripción y los valores correspondientes.

257
00:22:10,900 --> 00:22:13,858
Así que enviemos una solicitud de publicación al servidor.

258
00:22:13,858 --> 00:22:18,294
Cuando envíe una solicitud de publicación al servidor, como puede ver,

259
00:22:18,294 --> 00:22:24,290
en la respuesta que dice agregará el plato: detalles de la semana de prueba: descripción.

260
00:22:24,290 --> 00:22:30,368
Así que como pueden ver, las dos piezas de información se extraen del cuerpo

261
00:22:30,368 --> 00:22:35,772
de ese JSON solicitado [INAUDIBLE] y luego se incluyen en la respuesta.

262
00:22:35,772 --> 00:22:39,459
Vamos a enviar una solicitud de poner a los platos.

263
00:22:39,459 --> 00:22:43,029
Cuando envías una solicitud de puesta a los platos, como ves,

264
00:22:43,029 --> 00:22:48,654
dice que la operación PUT no es compatible con /platos, y mira el estado aquí.

265
00:22:48,654 --> 00:22:52,580
Dice Status: 403 Prohibido.

266
00:22:52,580 --> 00:22:57,570
Por lo tanto, esta operación no está permitida en este extremo.

267
00:22:57,570 --> 00:23:01,430
Hagamos una operación DELETE en los platos.

268
00:23:01,430 --> 00:23:04,240
Cuando DELETE operación en los platos,

269
00:23:04,240 --> 00:23:09,270
entonces se dará cuenta de que dice eliminar todos los platos.

270
00:23:09,270 --> 00:23:11,560
Así que esa es la respuesta que tienes de vuelta.

271
00:23:12,920 --> 00:23:15,410
Así que ve que el get post, put y

272
00:23:15,410 --> 00:23:20,610
delete en el extremo /dish funciona como espera.

273
00:23:20,610 --> 00:23:24,507
Ahora vamos a hacer un get en los platos /23.

274
00:23:24,507 --> 00:23:29,017
Así que 23 aquí está

275
00:23:29,017 --> 00:23:34,710
el parámetro, la ID del plato que desea obtener.

276
00:23:34,710 --> 00:23:38,716
Así que cuando envíe una solicitud a que el servidor

277
00:23:38,716 --> 00:23:41,878
responderá, enviará detalles del plato: 23 a usted.

278
00:23:41,878 --> 00:23:47,421
Por lo tanto, verá que el parámetro se ha extraído del mensaje de solicitud y

279
00:23:47,421 --> 00:23:50,645
luego se ha incluido en el mensaje de respuesta.

280
00:23:50,645 --> 00:23:54,850
Hagamos un post sobre esto.

281
00:23:54,850 --> 00:23:59,580
Y como saben, POST no está permitido en este extremo, y

282
00:23:59,580 --> 00:24:03,450
es por eso que obtiene un estado 403 Prohibido en esto.

283
00:24:03,450 --> 00:24:05,728
Hagamos una operación PUT en eso.

284
00:24:05,728 --> 00:24:10,040
Entonces, para la operación PUT, nota que el cuerpo todavía contiene eso.

285
00:24:10,040 --> 00:24:13,950
Entonces, en POST, cuando escribe un valor aquí,

286
00:24:13,950 --> 00:24:18,720
se conservará y se puede incluir en otras solicitudes que está enviando.

287
00:24:18,720 --> 00:24:25,087
Por lo tanto, cuando envía una solicitud PUT en el punto final, plata/23.

288
00:24:25,087 --> 00:24:28,650
Así que te das cuenta de que dice actualizar el plato, 23.

289
00:24:28,650 --> 00:24:31,780
Actualizará el plato, el nombre del plato,

290
00:24:31,780 --> 00:24:36,200
con detalles, la descripción del plato aquí.

291
00:24:36,200 --> 00:24:41,130
Y luego, hagamos una operación de eliminación en ese punto final y

292
00:24:41,130 --> 00:24:45,140
luego dice, d eliminando plato: 23.

293
00:24:45,140 --> 00:24:52,210
Por lo tanto, todos esos extremos son compatibles como se ve en este ejemplo aquí.

294
00:24:52,210 --> 00:24:58,430
Así que hemos hecho las operaciones PUT, POSRT y eliminar tanto en el punto final /dish como en

295
00:24:58,430 --> 00:25:03,830
el /dishes/ el punto final de id de plato.

296
00:25:03,830 --> 00:25:08,010
Por lo tanto, verá cómo hemos implementado el soporte de punto final de la API REST para

297
00:25:08,010 --> 00:25:12,730
un conjunto de endpoints API REST.

298
00:25:12,730 --> 00:25:17,405
Ahora, con esto, completamos la primera parte de este ejercicio.

299
00:25:17,405 --> 00:25:22,378
Por lo tanto, aquí hemos visto cómo podemos usar express para construir e

300
00:25:22,378 --> 00:25:26,755
implementar el punto final de la API REST para los platos.

301
00:25:26,755 --> 00:25:27,885
Ahora, este es un buen momento

302
00:25:27,885 --> 00:25:32,895
para que hagas una confirmación de git con el mensaje Express Simple REST.

303
00:25:33,895 --> 00:25:42,361
De acuerdo con el terminal voy a iniciar el, Servidor.

304
00:25:42,361 --> 00:25:45,845
Compruebe que se han cambiado tres de los elementos.

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

306
00:25:52,527 --> 00:26:01,750
Express simple REST, Y verifique el conjunto.

307
00:26:01,750 --> 00:26:08,670
Como puede ver, usando Express puede implementar fácilmente el soporte para REST API.

308
00:26:08,670 --> 00:26:15,300
Y como puede ver en esta lista, construye los

309
00:26:15,300 --> 00:26:21,590
métodos get, PUT, POST y delete para todos los extremos de la API REST como este.

310
00:26:21,590 --> 00:26:24,601
Ahora imagine que tiene mil puntos finales de API REST,

311
00:26:24,601 --> 00:26:27,347
y necesita construir algo como esto.

312
00:26:27,347 --> 00:26:33,344
Su archivo index.js explotará con tantos puntos finales de API REST diferentes.

313
00:26:33,344 --> 00:26:37,744
Y cada uno se maneja usando su propia app.get,

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

315
00:26:41,536 --> 00:26:46,336
Ahora Wxpress admite una forma de subdividir este trabajo en múltiples,

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

317
00:26:48,442 --> 00:26:54,580
que luego se pueden combinar para formar la aplicación general, Express.

318
00:26:54,580 --> 00:26:58,260
Aquí es donde haremos uso del Router Express

319
00:26:58,260 --> 00:27:01,960
para poder construir una aplicación mini Express.

320
00:27:01,960 --> 00:27:06,070
Y luego, dentro de un archivo Express Router,

321
00:27:06,070 --> 00:27:10,040
vamos a admitir el punto final de la API REST para un grupo de partes de la API REST.

322
00:27:10,040 --> 00:27:13,190
Entonces, por ejemplo, para platos y platos DishiD,

323
00:27:13,190 --> 00:27:15,598
todos pueden ser compatibles en un archivo.

324
00:27:15,598 --> 00:27:20,694
Del mismo modo, en la asignación, admitirá un

325
00:27:20,694 --> 00:27:25,339
punto final de API REST llamado promociones y promociones/:promoID.

326
00:27:25,339 --> 00:27:29,570
Y luego, admitirá otra API REST y

327
00:27:29,570 --> 00:27:34,241
para directores/líderes, y /leader:LeaderId.

328
00:27:34,241 --> 00:27:39,088
Por lo tanto, cada uno de estos grupos se puede implementar por separado como muchas

329
00:27:39,088 --> 00:27:43,120
aplicaciones Express usando Express Router.

330
00:27:43,120 --> 00:27:46,230
Así que eso es lo que voy a ilustrar para

331
00:27:46,230 --> 00:27:52,150
el punto final de los platos en la próxima parte de este ejercicio.

332
00:27:52,150 --> 00:27:57,668
Entonces, para hacer eso, nos damos cuenta de que si ponemos todos los archivos en una sola carpeta,

333
00:27:57,668 --> 00:28:01,498
entonces de nuevo su estructura de carpetas se verá desordenada.

334
00:28:01,498 --> 00:28:07,731
Así que mi preferencia es crear una carpeta aquí llamada rutas.

335
00:28:07,731 --> 00:28:12,591
Y esta carpeta de rutas contendrá todos los enrutadores que voy a

336
00:28:12,591 --> 00:28:15,450
diseñar usando el Router Express.

337
00:28:15,450 --> 00:28:19,465
Entonces, en la carpeta de rutas, voy a crear un nuevo archivo llamado

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

339
00:28:27,270 --> 00:28:31,332
Y este archivo dishRouter.js contendrá

340
00:28:31,332 --> 00:28:36,972
la implementación de la gestión del extremo de la API REST para

341
00:28:36,972 --> 00:28:41,281
/platos y /dishes:Dishid endpoints.

342
00:28:41,281 --> 00:28:44,626
Ahora, ¿cómo hacemos uso de Express Router?

343
00:28:44,626 --> 00:28:46,910
Veamos cómo podemos usarlo.

344
00:28:46,910 --> 00:28:51,050
Ahora Express Router viene junto con Express, por lo que no necesitamos instalar

345
00:28:51,050 --> 00:28:53,130
otro módulo de Node.

346
00:28:53,130 --> 00:28:56,970
En su lugar, podemos trabajar con Express que ya hemos instalado.

347
00:28:56,970 --> 00:29:02,308
Entonces, para hacer eso, en ese mensaje, escriba, const express

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

349
00:29:07,200 --> 00:29:09,950
Así que tenga en cuenta que, dado que esta es una mini-aplicación,

350
00:29:09,950 --> 00:29:15,000
todavía requerimos expreso incluso en este archivo dishRouter.js.

351
00:29:15,000 --> 00:29:18,495
Y a partir de su conocimiento de los módulos de nodo, una vez que define un nuevo archivo,

352
00:29:18,495 --> 00:29:20,251
que se convierte en su propio módulo de nodo.

353
00:29:20,251 --> 00:29:24,708
Y este módulo de nodo se puede importar en index.js.

354
00:29:24,708 --> 00:29:29,520
Así que usted ve la conexión ya entre cómo podemos reestructurar nuestra

355
00:29:29,520 --> 00:29:33,415
aplicación en múltiples archivos usando módulos de Node.

356
00:29:33,415 --> 00:29:39,525
Así que estableceremos require Express, luego diremos const

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

358
00:29:44,830 --> 00:29:50,310
Así que ya hemos instalado BodyParser en los pasos anteriores del ejercicio,

359
00:29:50,310 --> 00:29:51,634
por lo que podemos usar eso.

360
00:29:51,634 --> 00:29:55,040
Ahora, para usar un enrutador Express,

361
00:29:55,040 --> 00:30:00,636
déjenme declarar const dishRouter = express.r.

362
00:30:00,636 --> 00:30:05,769
Y en express, es compatible con esta interfaz del enrutador, por lo que simplemente

363
00:30:05,769 --> 00:30:11,430
diremos Express.Router y esto declarará DishRouter como un enrutador Express.

364
00:30:11,430 --> 00:30:13,951
Entonces, en muchas aplicaciones Express,

365
00:30:13,951 --> 00:30:18,820
una visión aquí puedo manejar ese código relacionado con DishRouter aquí.

366
00:30:19,830 --> 00:30:26,560
Entonces, una vez que declaro de este un enrutador en Express, entonces puedo decir DishRouter.

367
00:30:28,050 --> 00:30:33,337
Y luego, en el DisishRouter, admite un método llamado método de ruta,

368
00:30:33,337 --> 00:30:36,694
que puede tomar en un extremo como un parámetro.

369
00:30:36,694 --> 00:30:41,330
Así que simplemente declararía este punto final a /.

370
00:30:41,330 --> 00:30:44,620
Ahora, te estás preguntando, ¿no deberían ser platos?

371
00:30:44,620 --> 00:30:49,630
Pronto verá que necesito montar este

372
00:30:49,630 --> 00:30:53,140
enrutador Express en mi archivo index.js.

373
00:30:53,140 --> 00:31:01,270
Entonces, en mi archivo index.js, montaré este enrutador express en el punto final /dish.

374
00:31:01,270 --> 00:31:03,300
Montaje de un router express, de nuevo,

375
00:31:03,300 --> 00:31:05,900
un concepto más que quiero que entiendas.

376
00:31:05,900 --> 00:31:08,408
Una vez más, te lo explicaré en poco tiempo.

377
00:31:08,408 --> 00:31:13,368
Ahora, el desrouter.Route significa que mediante el uso de este enfoque,

378
00:31:13,368 --> 00:31:17,526
estamos declarando el punto final en una sola ubicación.

379
00:31:17,526 --> 00:31:21,316
Por lo que puede encadenar todos los

380
00:31:21,316 --> 00:31:25,219
métodos get, PUT, POST, eliminar ya hacen este enrutador de plato.

381
00:31:25,219 --> 00:31:30,139
Ahora, cuando nos fijamos en index.js,, mira la forma en que implícitamos esto.

382
00:31:30,139 --> 00:31:36,029
Así que tenemos app.all y luego /platos, app.get/platos y /platos.

383
00:31:36,029 --> 00:31:40,795
Ahora, si usted había cometido un error, y su instrucción app.post

384
00:31:40,795 --> 00:31:45,580
/platos en su lugar si acaba de escribir /dish, entonces ¿qué sucede?

385
00:31:45,580 --> 00:31:49,050
La operación POST no será compatible con los platos, pero

386
00:31:49,050 --> 00:31:51,730
será compatible con el endpoint /dish.

387
00:31:53,170 --> 00:31:59,220
Para evitar este problema, el router express admite este punto final de ruta.

388
00:31:59,220 --> 00:32:00,090
En el punto final de la ruta,

389
00:32:00,090 --> 00:32:05,860
simplemente especifique el punto final en el que va a funcionar este enrutador.

390
00:32:05,860 --> 00:32:10,890
Y luego, el método de eliminación de la porción get put, esto simplemente encadenado en eso.

391
00:32:10,890 --> 00:32:16,300
Por lo tanto, será un grupo de implementaciones de métodos todas juntas.

392
00:32:16,300 --> 00:32:20,345
Entonces, esa es la razón por la que usan un enrutador Express.

393
00:32:20,345 --> 00:32:24,185
Por lo tanto, viene con un par de

394
00:32:24,185 --> 00:32:28,525
soporte muy útil para asegurarse de que su implementación es correcta.

395
00:32:28,525 --> 00:32:32,190
Así que ahora que vamos a hacer eso como el enrutador de platos,

396
00:32:32,190 --> 00:32:37,920
lo que voy a hacer es quitar esta cosa de aquí.

397
00:32:37,920 --> 00:32:42,990
Ahora, ese punto de IDN platos, voy a dejarte eso

398
00:32:42,990 --> 00:32:47,565
a ti como un ejercicio en tu primera tarea, pero

399
00:32:47,565 --> 00:32:54,180
el punto final de los platos, voy a cortar esto, todo el camino hasta todos.

400
00:32:54,180 --> 00:32:59,350
Voy a cortar esto de index.js5 y

401
00:32:59,350 --> 00:33:04,580
mover eso al DishRouter aquí.

402
00:33:04,580 --> 00:33:11,887
Ahora, cuando muevo eso al DishRouter, ya no necesito esta aplicación.all.

403
00:33:11,887 --> 00:33:18,267
Simplemente lo encadeno en la ruta, así que simplemente diré .all y

404
00:33:18,267 --> 00:33:24,210
entonces ya no necesito esta definición de punto final allí.

405
00:33:24,210 --> 00:33:24,900
Eso es todo. Así

406
00:33:24,900 --> 00:33:28,390
que dirá .all y luego diremos req, res, siguiente.

407
00:33:28,390 --> 00:33:31,470
Y esto, todo está operando en este punto final en particular

408
00:33:31,470 --> 00:33:33,690
ya especificado aquí.

409
00:33:33,690 --> 00:33:37,920
Ahora, no sólo eso, podemos encadenar los métodos restantes.

410
00:33:37,920 --> 00:33:41,360
Así que es por eso que ves que he eliminado el punto y coma de aquí.

411
00:33:41,360 --> 00:33:46,270
Voy a eliminar esta aplicación y luego adjuntarla a eso.

412
00:33:46,270 --> 00:33:51,600
Así que consigue también se cambia en la ruta, y luego puedo eliminar

413
00:33:53,140 --> 00:33:57,740
esta parte, el manejo seguirá siendo exactamente el mismo que antes.

414
00:33:57,740 --> 00:34:05,520
Así que de manera similar, eliminaré la aplicación, allí.

415
00:34:05,520 --> 00:34:10,850
Y luego, de nuevo, elimine eso de la publicación.

416
00:34:10,850 --> 00:34:11,865
Y lo mismo.

417
00:34:17,447 --> 00:34:22,248
Para poner, y

418
00:34:22,248 --> 00:34:27,360
para eliminar, lo mismo.

419
00:34:27,360 --> 00:34:30,800
Así que observe que no hay punto y coma aquí, aquí o

420
00:34:30,800 --> 00:34:34,670
aquí, pero el último, la eliminación, tendrá el punto y coma en su lugar.

421
00:34:34,670 --> 00:34:40,810
Así que este grupo es una sola unidad implementada mediante

422
00:34:40,810 --> 00:34:45,930
el uso del enrutador de plato en este enrutador en particular, y todos estos están encadenados entre sí.

423
00:34:47,640 --> 00:34:52,610
Y también, por supuesto, con eliminar, necesito eliminar este punto final.

424
00:34:52,610 --> 00:34:56,626
Eso es todo, mira, estructura limpia del código aquí.

425
00:34:56,626 --> 00:35:02,100
Así que esencialmente, termina implementando el DishRouter, correcto,

426
00:35:02,100 --> 00:35:07,700
recuerde, este DishRouter se define dentro del archivo dishRouter.js.

427
00:35:07,700 --> 00:35:12,870
Ahora, necesito exportar esto desde este módulo de nodo.

428
00:35:12,870 --> 00:35:17,500
Así que para exportar esto, voy a ir al fondo aquí y

429
00:35:17,500 --> 00:35:22,877
voy a decir module.exports y

430
00:35:22,877 --> 00:35:26,170
decir, DishRouter.

431
00:35:26,170 --> 00:35:27,030
Eso es todo.

432
00:35:27,030 --> 00:35:34,920
Así que ahora, mi DishRouter está exportando todo lo que necesito.

433
00:35:34,920 --> 00:35:41,170
Ahora, usted está mirando esto y diciendo, ¿qué pasa con el plato de Colón?

434
00:35:41,170 --> 00:35:44,302
Eso va a ser parte de tu primera misión.

435
00:35:44,302 --> 00:35:47,010
No solo eso,

436
00:35:47,010 --> 00:35:53,000
también estará implementando para dos puntos finales de API REST adicionales, las promociones y los líderes.

437
00:35:53,000 --> 00:35:57,960
Pero esto ya le muestra la estructura de cómo se

438
00:35:57,960 --> 00:36:03,080
ve una implementación de enrutadores Express de soporte API res.

439
00:36:03,080 --> 00:36:05,070
Así que esto es para desrouter.Route.

440
00:36:05,070 --> 00:36:09,848
Y una última cosa antes de que me olvide,

441
00:36:09,848 --> 00:36:18,140
deberíamos decir desrouter.use (BodyParser.json ()).

442
00:36:20,326 --> 00:36:23,852
Ahora, una vez que haya completado la implementación de DishRouter,

443
00:36:23,852 --> 00:36:26,130
ahora podemos ir al archivo index.js.

444
00:36:26,130 --> 00:36:34,020
Dado que este DishRouter es otro módulo de nodo, un módulo de nodo fino sin embargo.

445
00:36:34,020 --> 00:36:38,120
Así que tenemos que importar esto en nuestra aplicación.

446
00:36:38,120 --> 00:36:44,250
Así que aquí mismo, voy a importar const

447
00:36:46,000 --> 00:36:52,100
DishRouter es igual a requerir.

448
00:36:52,100 --> 00:36:56,626
Ahora, dado que este es un módulo de nodo basado en archivos,

449
00:36:56,626 --> 00:37:03,000
diré. /Rutas/Desenrouter.

450
00:37:03,000 --> 00:37:09,850
Y una vez que los he declarado allí, entonces bajaré al código aquí.

451
00:37:09,850 --> 00:37:14,230
Y ahí mismo, digo app.use.

452
00:37:14,230 --> 00:37:19,130
Y monto el enrutador en un punto final.

453
00:37:19,130 --> 00:37:20,930
Entonces, ¿cómo monto el enrutador?

454
00:37:20,930 --> 00:37:25,790
El primer parámetro aquí, especificaré platos de barra.

455
00:37:25,790 --> 00:37:29,480
Y el segundo parámetro, especifique DishRouter.

456
00:37:30,810 --> 00:37:31,830
Y eso es todo.

457
00:37:31,830 --> 00:37:35,080
Entonces, lo que esto significa es que en mi aplicación expresa,

458
00:37:36,205 --> 00:37:41,435
cualquier solicitud que llegue a ese punto final de platos de barra será manejada por DishRouter,

459
00:37:41,435 --> 00:37:45,615
y eso se hará por el código que está presente aquí,

460
00:37:45,615 --> 00:37:50,755
porque hemos dicho la ruta DishRouter, y por lo tanto, note que esto dice barra,

461
00:37:50,755 --> 00:37:54,575
lo que significa que este se monta en el punto final de los platos de barra.

462
00:37:54,575 --> 00:37:59,378
Así que es por eso que cualquier cosa que venga a través de platos de corte será enviado a esto y

463
00:37:59,378 --> 00:38:00,890
será manejado por esto.

464
00:38:02,730 --> 00:38:07,000
Una gran pista para que piense cómo implementaría

465
00:38:07,000 --> 00:38:11,020
ese punto final de identificación del plato de dos puntos.

466
00:38:11,020 --> 00:38:16,440
Seguirá utilizando el mismo archivo dishRouter.js para implementar también el soporte para

467
00:38:16,440 --> 00:38:21,670
ese punto final, /dishes/:DISHID.

468
00:38:21,670 --> 00:38:24,580
Esa es otra gran pista para ti, ¿vale?

469
00:38:24,580 --> 00:38:29,260
Con estos cambios, vamos

470
00:38:29,260 --> 00:38:33,870
a guardar los cambios que hemos hecho en nuestra aplicación y luego reiniciar nuestro servidor y

471
00:38:33,870 --> 00:38:37,480
luego echar un vistazo a cómo nuestro servidor va a hacer su trabajo. Al

472
00:38:38,850 --> 00:38:44,190
ir a la terminal, permítanme reiniciar ese servidor escribiendo npm start.

473
00:38:44,190 --> 00:38:47,340
Y una vez que el servidor esté en funcionamiento, voy a ir al cartero y

474
00:38:47,340 --> 00:38:50,220
enviar solicitudes del cartero a este servidor.

475
00:38:51,220 --> 00:38:57,110
Ir al cartero, ahora sé que mi servidor sólo está apoyando

476
00:38:57,110 --> 00:39:01,690
el punto final platos, he implementado la parte ID plato de ella.

477
00:39:01,690 --> 00:39:05,570
Así que déjame enviar una solicitud a los platos locales anfitriones y

478
00:39:05,570 --> 00:39:08,590
verás que funciona exactamente como antes.

479
00:39:08,590 --> 00:39:12,910
Ahora, si ha hecho una solicitud anterior en la publicación, simplemente puede hacer clic en eso y

480
00:39:12,910 --> 00:39:15,150
luego volver a enviar esa solicitud.

481
00:39:16,940 --> 00:39:26,680
Put operación no funciona, post operación, funciona como se ve allí.

482
00:39:26,680 --> 00:39:32,370
Y luego causemos la operación de eliminación en los platos.

483
00:39:32,370 --> 00:39:36,210
Y dice borrar todos los platos como se esperaba.

484
00:39:36,210 --> 00:39:45,230
Entonces, esta es la implementación del soporte de API de resto usando enrutador express.

485
00:39:45,230 --> 00:39:48,950
Con esto, completamos la segunda mitad de este ejercicio.

486
00:39:48,950 --> 00:39:54,490
Este es un buen momento para que usted haga un comentario con el enrutador express mensaje.

487
00:39:55,830 --> 00:40:00,896
Ahora que hemos completado este ejercicio en el que hemos visto cómo

488
00:40:00,896 --> 00:40:06,450
se puede utilizar Express para apoyar la implementación del soporte de punto final de Res API en nuestro servidor,

489
00:40:06,450 --> 00:40:08,900
y también el uso del router Express,

490
00:40:08,900 --> 00:40:13,906
es hora de pasar a la primera tarea que sigue a esta lección.

491
00:40:13,906 --> 00:40:20,030
[ MÚSICA]