[MUSIC]
Ahora que hemos entendido la API REST y expreso el soporte para la
API REST, pasemos al siguiente ejercicio.
Donde veremos cómo vamos a desarrollar la API REST
utilizando el soporte dado por express.
Y también, el uso de router express,
lo que nos permite organizar nuestro código de una manera más adecuada
cuando se necesita para soportar un gran número de endpoints API REST.
Para empezar, continuando con la carpeta node-express
que hemos estado trabajando en el servidor web basado en Express.
En el símbolo del sistema, instalemos body-parser,
así que para hacerlo, escriba npm install body-parser —save.
Y estamos usando la versión 1.18.3 de
body-parser en este curso aquí.
Ahora, una vez que hemos instalado body-parser, entonces entra en nuestro código.
En el index.js5,
permítanme requerir BodyParser, así que
diremos que const BodyParser
requiere body-parser.
Y luego, cada vez que necesite usar un middleware,
dirás, app.use (BodyParser.json).
Así que esto nos permite analizar el cuerpo del mensaje de solicitud,
que está formateado en formato JSON.
Una vez que hayamos completado eso, empecemos a
construir el soporte de la API REST para el endpoint /dish.
El uso de los
métodos app.all, app.get, put, post y delete son compatibles con express.
Entonces, para hacer eso, permítanme comenzar diciendo
app.all, y los primeros parámetros
que app.all toma es el punto final.
Entonces, en este caso, estoy especificando el punto final de /dishes.
Y luego el segundo parámetro es la función de devolución de llamada,
req, res, a continuación, los tres parámetros aquí.
Y dentro de esta función de devolución de llamada, vamos a manejar la solicitud entrante.
Así que diremos, cuando llegue una solicitud, para todas las peticiones.
Entonces, cuando decimos app.all, no importa qué método se invoque,
get, put, post o delete, para el endpoint de la API REST /dish,
este código se ejecutará primero de forma predeterminada aquí.
Entonces diremos res StatusCode es 200 y
luego Res.setHeader y
digamos texto de tipo de contenido.
Enviaremos texto sin formato ahora, en lugar de texto HTML.
Esto debería ser suficiente para los extremos de la API REST.
Más adelante, enviaremos los datos en forma de JSON una vez
que podamos recuperar los datos de la base de datos.
Entonces eso vendrá en uno de los ejercicios posteriores.
Por el momento, simplemente enviaremos respuestas de texto sin formato al cliente.
Ahora, después de estos dos, el middleware aquí aún no se ha completado.
Entonces llamaremos a la siguiente función aquí, por lo que la siguiente como ves se refiere a esto siguiente.
Así que cuando llame a continuación, lo que significa es que continuará buscando
especificaciones adicionales abajo aquí,
que coincidirán con este punto final de platos.
Así que esto se haría para todas las solicitudes, obtener, poner, publicar y
eliminar, en los platos, y continuará con la siguiente.
Así que aquí, supongamos que obtenemos una solicitud de obtener
en los platos, lo que significa que ahora,
si obtenemos una solicitud de obtener en los platos
, primero esto se ejecutará,
y luego el req y res se pasarán
a esta segunda llamada aquí.
Así que en este caso, ya no
necesitaré el siguiente, porque no voy a llamar más abajo.
Voy a completar el manejo justo dentro de este método aquí mismo.
Entonces, si modificamos el req o res dentro de este código,
entonces cuando llame al siguiente, ese objeto modificado
se pasará como parámetro a esto.
Entonces, si ha emitido una solicitud get en los platos, entonces esto es lo que se
ejecutará justo después de esto, por lo que este próximo hará que pase.
Y luego aquí, te das cuenta de que modificamos el objeto res aquí.
Y la modificación se llevará como el parámetro de entrada a esta función aquí.
Así que dentro de esta función get, podemos decir, por ejemplo, en este momento,
simplemente voy a enviar de vuelta un mensaje simple,
diremos, te enviará todos los platos.
Más tarde, cuando recuperemos la información de los platos de la base de datos
después de aprender sobre MongoDB, entonces esta función
devolverá esos datos JSON al cliente, ya que está en una solicitud get aquí.
Ahora, en el curso anterior, habíamos utilizado el servidor JSON, y
el servidor JSON ya estaba proporcionando todos estos para nosotros.
Ahora está viendo cómo construiría
un servidor real que procesará la solicitud entrante.
Y luego generar una respuesta adecuada y
enviársela de vuelta en respuesta a la solicitud recibida del lado del cliente.
Y aquí es donde el usuario expresa, como vemos aquí, es útil.
Así que hemos manejado obtener,
vamos a manejar post también en platos aquí.
Y de nuevo, los parámetros serían (req, res,
next), y esa función que se invoca estará aquí.
Ahora, cuando se recibe la solicitud get, porque aquí, estás llamando a rest.end.
Así que ese fin es el manejo de la solicitud get y no activa la respuesta
para ser enviada de vuelta, o la respuesta para ser enviada de vuelta al cliente en este punto.
Ahora, si obtiene una solicitud de publicación en platos, de nuevo, se ejecutará todo este código.
Y luego, debido a esto siguiente, caerá en esta llamada de función aquí.
Y luego el código aquí, se ejecutará, por lo que cuando reciba una
publicación La solicitud de publicación que viene desde el servidor llevará cierta información
en el cuerpo del mensaje en forma de datos JSON.
Verán cuál es la forma de los datos JSON cuando
miramos más adelante cuando probamos el punto final usando la red postal.
Le mostraré qué contendrá el cuerpo del mensaje de solicitud de publicación.
Pero en este punto, lo que voy a hacer es
extraer la información del cuerpo.
Y aquí cuando usamos el analizador body, lo que sucede es que para
la solicitud entrante, el cuerpo de la solicitud entrante se analizará y
luego se agregará al objeto req como req.body.
Así que el req.body te dará acceso a lo que esté dentro de ese cuerpo
del mensaje.
Entonces, cuando envío la solicitud,
agregaré información al
cuerpo de la solicitud en forma de una cadena JSON que
contiene un nombre y una descripción.
Así que voy a extraer estas dos piezas de información y
luego imprimirlas y luego enviarlas de vuelta al cliente en el mensaje de respuesta.
Así que puedo decir, req.cuerpo.y luego nombre.
Y entonces la expectativa es que cuando el cliente envía el mensaje de publicación,
el cuerpo del mensaje de publicación contendrá una cadena JSON,
que también contendrá la propiedad name en la cadena JSON.
Así que req.body.name plus y
aquí es donde incluiré
con detalles: + req.body.description.
Entonces, cualquier cosa que contenga la cadena JSON en el req.body, pero la
cadena JSON se analizará en un objeto JavaScript y
se agregará al objeto de solicitud como un cuerpo de propiedad.
El objeto JavaScript apunta a lo que
vino como la cadena JSON en el cuerpo del mensaje de solicitud.
Entonces, es por eso que puedo analizar la propiedad name, la propiedad description,
puede tener la propiedad price, la propiedad image, y todo eso.
Entonces, si ha tomado el curso anterior, ha visto la estructura de un
objeto de plato, en forma de una cadena JSON o el objeto JavaScript allí.
Entonces, el nombre y la descripción te suena familiar.
Así que eso es exactamente lo que estoy usando aquí.
Ahora mismo sólo estoy extrayendo el nombre y la descripción del cuerpo y
luego enviándolo de vuelta al cliente en este cuerpo.
Así que solo estoy construyendo este mensaje de respuesta aquí usando la información
del cuerpo del mensaje de solicitud y luego enviándolo de vuelta al cliente.
Así puedo confirmar que el servidor está recibiendo lo que estoy enviando
en el cuerpo del mensaje.
Así que esta es la solicitud de publicación.
Ahora para poner, déjame copiar esto, y luego pegarlo aquí.
Y luego para poner en ese extremo platos,
porque poner en el extremo de los platos no tiene sentido.
Una publicación significa que estás publicando un nuevo plato en los servidores.
Un punto final de los platos no tiene sentido,
así que aquí lo que voy a hacer es
responder con el mensaje PUT
operación no compatible con /dishes.
Además, también lo haré, Incluir un código de estado de 403.
403 significa que su operación no es compatible.
Así que si mira hacia atrás en la tabla de códigos de respuesta HTTP,
verá el código correspondiente 403 lo que representa allí.
Así que eso es lo que estoy usando para publicar.
Para eliminar, voy a copiar
este y para eliminar voy a,
Simplemente analizar esto, y luego vamos a decir, Eliminar todos los platos.
Entonces, cuando envía una solicitud de eliminación en ese endpoint /dish.
Se interpreta en el sentido de que
el cliente quiere eliminar toda la información de los platos en el lado del servidor.
Ahora, esta es una operación peligrosa, así
que asegúrese de no permitir que los usuarios asociados lo hagan.
Así que más adelante, cuando estudiemos la autenticación,
veremos cómo podemos volver a verificar esta operación solo a usuarios privilegiados.
Pero de nuevo, como ves, esta es una operación peligrosa, así que ten en cuenta al respecto.
Así que ahora ves que en el punto final de los platos, tenemos
soporte para obtener, poner, publicar y eliminar.
También vamos a apoyar eso en los platos/:Dishid punto final.
Así que voy a copiar los métodos get, put, post y delete desde aquí,
y luego los llama a todos también para ser soportados en
platos/:Dishid.
Así que esto es para obtener, y copiamos eso y
publicamos, ponemos y eliminamos.
¿ Cómo manejamos cada uno de estos?
Entonces, para obtener, si recibo una solicitud en platos/dishid,
lo que me gustaría hacer es extraer este parámetro y
luego enviarlo de vuelta en la solicitud, en el mensaje de respuesta.
Así que diremos, enviaremos,
Detalles del plato.
¿ Ahora qué plato?
Esta información se encuentra en el parámetro.
Por lo tanto, este valor de parámetro se puede recuperar de
req.params.dishid.
Así que este DishID, como ve, el nombre que usa aquí debería coincidir con este valor aquí.
Entonces, si simplemente ve ID aquí,
esto también debería corresponder al SID dado aquí.
Entonces el nombre en sí no significa nada, excepto que este nombre de parámetro y
esto deberían coincidir entre sí, para que pueda recuperar la información correctamente.
Así que diremos, envía los parámetros del plato Dishid y
luego te diremos.
Así que de esa manera sabemos que el servidor está obteniendo el parámetro de plato..
Así que si digo /dishes/23 hay varias respuestas
enviarán los detalles del plato 23 a usted y así sucesivamente.
Así que veremos cómo funciona cuando usamos post para probar este servidor.
Ahora para el puesto.
Para la publicación, este método no va a ser compatible,
así que solo voy a copiar esta parte.
no tiene sentido hacer una publicación en un ID de plato específico,
porque no estás tratando de agregar un plato nuevo.
Pero desea modificar, y la modificación se realiza mediante el uso de la operación put.
Así que diremos, la operación POST no es compatible con /dishes.
Y luego voy a añadir en el.
Req.Params.Dishid.
Por lo tanto, esto enviará de vuelta diciendo que no es compatible con
platos/23 en el mensaje de respuesta.
Ahora, para PUT, Para PUT, vamos a decir,
res.end y decir Will, actualizar el plato.
Req.Params.Dishid.
O mejor dicho, lo haremos de esta manera.
Primero escribiré, Así que
res.write se puede usar para agregar una línea al mensaje de respuesta.
Así que diremos actualizar el plato.
Y diremos Req.Params.Dishid.
Y dado que esta es una operación PUT, y si el cuerpo contiene la cadena JSON,
que contiene los detalles del plato,
puedo extraer la cadena JSON porque estamos usando el analizador corporal.
Así que vamos a decir Will
actualizar el plato:.
¿ Qué plato?
req.body.name.
Además.
Con detalles,
req.body.description.
Ahora, cuando actualicemos el plato, quiero añadir una, Nueva línea allí.
Así que voy a decir '/n' allí.
Así que cuando haces un PUT, estás enviando la información sobre qué ID de plato
estás actualizando, y también, los detalles que estás actualizando.
El nombre y la descripción,
que debe estar en el cuerpo del mensaje PUT allí.
Para eliminar, Va a decir Eliminar plato, y req.params.Dishid.
Y así, para eliminar, esta es la operación que se realizará.
Así que ves que ahora tenemos las
operaciones get, put, post y delete en los platos/Dishid, endpoint, y
también las operaciones get, put, post en el /dish, endpoint.
Así que ahora vamos a guardar los cambios.
Y vuelve a iniciar nuestro servidor.
Inicie el servidor diciendo npm start.
Vamos ahora a cartero y enviar algunas solicitudes a este servidor y
ver lo que devuelve.
Permítanme primero emitir un llegar a host local 3,000 y ver lo que devuelve.
Por lo tanto, cuando envía una solicitud para obtener el host local 3.000,
todavía está devolviendo la página HTML de inicio del índice,
porque el manejo de archivos estáticos todavía está en su lugar.
Ahora déjame enviar una solicitud a localhost: 3000/platos, y esto,
como esperas, te enviará una respuesta diciendo que te enviaremos todos los platos.
Ahora, enviemos una solicitud POST a localhost: 3000/platos.
Entonces, aquí es donde puede cambiar los diversos métodos que desea ejecutar.
Pero cuando envías una publicación,
quieres incluir algunos detalles en el cuerpo del mensaje
porque alguien espera que envíes información en el cuerpo del mensaje.
Así que haga clic en el cuerpo aquí y haga clic en crudo aquí.
Y luego, para el texto, seleccione esto en JSON, así que
use la aplicación JSON.
Entonces, el tipo de contenido sería Application/JSON en
la solicitud que envía.
Entonces, dado que este es un objeto JSON
, entonces entre llaves, diré nombre.
Simplemente escribiré la prueba
y la descripción.
Alguna información estándar aquí, por lo que puede ver que esta es una cadena JSON que
contiene dos propiedades, nombre y descripción y los valores correspondientes.
Así que enviemos una solicitud de publicación al servidor.
Cuando envíe una solicitud de publicación al servidor, como puede ver,
en la respuesta que dice agregará el plato: detalles de la semana de prueba: descripción.
Así que como pueden ver, las dos piezas de información se extraen del cuerpo
de ese JSON solicitado [INAUDIBLE] y luego se incluyen en la respuesta.
Vamos a enviar una solicitud de poner a los platos.
Cuando envías una solicitud de puesta a los platos, como ves,
dice que la operación PUT no es compatible con /platos, y mira el estado aquí.
Dice Status: 403 Prohibido.
Por lo tanto, esta operación no está permitida en este extremo.
Hagamos una operación DELETE en los platos.
Cuando DELETE operación en los platos,
entonces se dará cuenta de que dice eliminar todos los platos.
Así que esa es la respuesta que tienes de vuelta.
Así que ve que el get post, put y
delete en el extremo /dish funciona como espera.
Ahora vamos a hacer un get en los platos /23.
Así que 23 aquí está
el parámetro, la ID del plato que desea obtener.
Así que cuando envíe una solicitud a que el servidor
responderá, enviará detalles del plato: 23 a usted.
Por lo tanto, verá que el parámetro se ha extraído del mensaje de solicitud y
luego se ha incluido en el mensaje de respuesta.
Hagamos un post sobre esto.
Y como saben, POST no está permitido en este extremo, y
es por eso que obtiene un estado 403 Prohibido en esto.
Hagamos una operación PUT en eso.
Entonces, para la operación PUT, nota que el cuerpo todavía contiene eso.
Entonces, en POST, cuando escribe un valor aquí,
se conservará y se puede incluir en otras solicitudes que está enviando.
Por lo tanto, cuando envía una solicitud PUT en el punto final, plata/23.
Así que te das cuenta de que dice actualizar el plato, 23.
Actualizará el plato, el nombre del plato,
con detalles, la descripción del plato aquí.
Y luego, hagamos una operación de eliminación en ese punto final y
luego dice, d eliminando plato: 23.
Por lo tanto, todos esos extremos son compatibles como se ve en este ejemplo aquí.
Así que hemos hecho las operaciones PUT, POSRT y eliminar tanto en el punto final /dish como en
el /dishes/ el punto final de id de plato.
Por lo tanto, verá cómo hemos implementado el soporte de punto final de la API REST para
un conjunto de endpoints API REST.
Ahora, con esto, completamos la primera parte de este ejercicio.
Por lo tanto, aquí hemos visto cómo podemos usar express para construir e
implementar el punto final de la API REST para los platos.
Ahora, este es un buen momento
para que hagas una confirmación de git con el mensaje Express Simple REST.
De acuerdo con el terminal voy a iniciar el, Servidor.
Compruebe que se han cambiado tres de los elementos.
Entonces, git add, git commit -m,
Express simple REST, Y verifique el conjunto.
Como puede ver, usando Express puede implementar fácilmente el soporte para REST API.
Y como puede ver en esta lista, construye los
métodos get, PUT, POST y delete para todos los extremos de la API REST como este.
Ahora imagine que tiene mil puntos finales de API REST,
y necesita construir algo como esto.
Su archivo index.js explotará con tantos puntos finales de API REST diferentes.
Y cada uno se maneja usando su propia app.get,
app.put, app.delete y app.post.
Ahora Wxpress admite una forma de subdividir este trabajo en múltiples,
muchas aplicaciones Express,
que luego se pueden combinar para formar la aplicación general, Express.
Aquí es donde haremos uso del Router Express
para poder construir una aplicación mini Express.
Y luego, dentro de un archivo Express Router,
vamos a admitir el punto final de la API REST para un grupo de partes de la API REST.
Entonces, por ejemplo, para platos y platos DishiD,
todos pueden ser compatibles en un archivo.
Del mismo modo, en la asignación, admitirá un
punto final de API REST llamado promociones y promociones/:promoID.
Y luego, admitirá otra API REST y
para directores/líderes, y /leader:LeaderId.
Por lo tanto, cada uno de estos grupos se puede implementar por separado como muchas
aplicaciones Express usando Express Router.
Así que eso es lo que voy a ilustrar para
el punto final de los platos en la próxima parte de este ejercicio.
Entonces, para hacer eso, nos damos cuenta de que si ponemos todos los archivos en una sola carpeta,
entonces de nuevo su estructura de carpetas se verá desordenada.
Así que mi preferencia es crear una carpeta aquí llamada rutas.
Y esta carpeta de rutas contendrá todos los enrutadores que voy a
diseñar usando el Router Express.
Entonces, en la carpeta de rutas, voy a crear un nuevo archivo llamado
dishRouter.js.
Y este archivo dishRouter.js contendrá
la implementación de la gestión del extremo de la API REST para
/platos y /dishes:Dishid endpoints.
Ahora, ¿cómo hacemos uso de Express Router?
Veamos cómo podemos usarlo.
Ahora Express Router viene junto con Express, por lo que no necesitamos instalar
otro módulo de Node.
En su lugar, podemos trabajar con Express que ya hemos instalado.
Entonces, para hacer eso, en ese mensaje, escriba, const express
= require ('express');.
Así que tenga en cuenta que, dado que esta es una mini-aplicación,
todavía requerimos expreso incluso en este archivo dishRouter.js.
Y a partir de su conocimiento de los módulos de nodo, una vez que define un nuevo archivo,
que se convierte en su propio módulo de nodo.
Y este módulo de nodo se puede importar en index.js.
Así que usted ve la conexión ya entre cómo podemos reestructurar nuestra
aplicación en múltiples archivos usando módulos de Node.
Así que estableceremos require Express, luego diremos const
BodyParser require ('body-parser').
Así que ya hemos instalado BodyParser en los pasos anteriores del ejercicio,
por lo que podemos usar eso.
Ahora, para usar un enrutador Express,
déjenme declarar const dishRouter = express.r.
Y en express, es compatible con esta interfaz del enrutador, por lo que simplemente
diremos Express.Router y esto declarará DishRouter como un enrutador Express.
Entonces, en muchas aplicaciones Express,
una visión aquí puedo manejar ese código relacionado con DishRouter aquí.
Entonces, una vez que declaro de este un enrutador en Express, entonces puedo decir DishRouter.
Y luego, en el DisishRouter, admite un método llamado método de ruta,
que puede tomar en un extremo como un parámetro.
Así que simplemente declararía este punto final a /.
Ahora, te estás preguntando, ¿no deberían ser platos?
Pronto verá que necesito montar este
enrutador Express en mi archivo index.js.
Entonces, en mi archivo index.js, montaré este enrutador express en el punto final /dish.
Montaje de un router express, de nuevo,
un concepto más que quiero que entiendas.
Una vez más, te lo explicaré en poco tiempo.
Ahora, el desrouter.Route significa que mediante el uso de este enfoque,
estamos declarando el punto final en una sola ubicación.
Por lo que puede encadenar todos los
métodos get, PUT, POST, eliminar ya hacen este enrutador de plato.
Ahora, cuando nos fijamos en index.js,, mira la forma en que implícitamos esto.
Así que tenemos app.all y luego /platos, app.get/platos y /platos.
Ahora, si usted había cometido un error, y su instrucción app.post
/platos en su lugar si acaba de escribir /dish, entonces ¿qué sucede?
La operación POST no será compatible con los platos, pero
será compatible con el endpoint /dish.
Para evitar este problema, el router express admite este punto final de ruta.
En el punto final de la ruta,
simplemente especifique el punto final en el que va a funcionar este enrutador.
Y luego, el método de eliminación de la porción get put, esto simplemente encadenado en eso.
Por lo tanto, será un grupo de implementaciones de métodos todas juntas.
Entonces, esa es la razón por la que usan un enrutador Express.
Por lo tanto, viene con un par de
soporte muy útil para asegurarse de que su implementación es correcta.
Así que ahora que vamos a hacer eso como el enrutador de platos,
lo que voy a hacer es quitar esta cosa de aquí.
Ahora, ese punto de IDN platos, voy a dejarte eso
a ti como un ejercicio en tu primera tarea, pero
el punto final de los platos, voy a cortar esto, todo el camino hasta todos.
Voy a cortar esto de index.js5 y
mover eso al DishRouter aquí.
Ahora, cuando muevo eso al DishRouter, ya no necesito esta aplicación.all.
Simplemente lo encadeno en la ruta, así que simplemente diré .all y
entonces ya no necesito esta definición de punto final allí.
Eso es todo. Así
que dirá .all y luego diremos req, res, siguiente.
Y esto, todo está operando en este punto final en particular
ya especificado aquí.
Ahora, no sólo eso, podemos encadenar los métodos restantes.
Así que es por eso que ves que he eliminado el punto y coma de aquí.
Voy a eliminar esta aplicación y luego adjuntarla a eso.
Así que consigue también se cambia en la ruta, y luego puedo eliminar
esta parte, el manejo seguirá siendo exactamente el mismo que antes.
Así que de manera similar, eliminaré la aplicación, allí.
Y luego, de nuevo, elimine eso de la publicación.
Y lo mismo.
Para poner, y
para eliminar, lo mismo.
Así que observe que no hay punto y coma aquí, aquí o
aquí, pero el último, la eliminación, tendrá el punto y coma en su lugar.
Así que este grupo es una sola unidad implementada mediante
el uso del enrutador de plato en este enrutador en particular, y todos estos están encadenados entre sí.
Y también, por supuesto, con eliminar, necesito eliminar este punto final.
Eso es todo, mira, estructura limpia del código aquí.
Así que esencialmente, termina implementando el DishRouter, correcto,
recuerde, este DishRouter se define dentro del archivo dishRouter.js.
Ahora, necesito exportar esto desde este módulo de nodo.
Así que para exportar esto, voy a ir al fondo aquí y
voy a decir module.exports y
decir, DishRouter.
Eso es todo.
Así que ahora, mi DishRouter está exportando todo lo que necesito.
Ahora, usted está mirando esto y diciendo, ¿qué pasa con el plato de Colón?
Eso va a ser parte de tu primera misión.
No solo eso,
también estará implementando para dos puntos finales de API REST adicionales, las promociones y los líderes.
Pero esto ya le muestra la estructura de cómo se
ve una implementación de enrutadores Express de soporte API res.
Así que esto es para desrouter.Route.
Y una última cosa antes de que me olvide,
deberíamos decir desrouter.use (BodyParser.json ()).
Ahora, una vez que haya completado la implementación de DishRouter,
ahora podemos ir al archivo index.js.
Dado que este DishRouter es otro módulo de nodo, un módulo de nodo fino sin embargo.
Así que tenemos que importar esto en nuestra aplicación.
Así que aquí mismo, voy a importar const
DishRouter es igual a requerir.
Ahora, dado que este es un módulo de nodo basado en archivos,
diré. /Rutas/Desenrouter.
Y una vez que los he declarado allí, entonces bajaré al código aquí.
Y ahí mismo, digo app.use.
Y monto el enrutador en un punto final.
Entonces, ¿cómo monto el enrutador?
El primer parámetro aquí, especificaré platos de barra.
Y el segundo parámetro, especifique DishRouter.
Y eso es todo.
Entonces, lo que esto significa es que en mi aplicación expresa,
cualquier solicitud que llegue a ese punto final de platos de barra será manejada por DishRouter,
y eso se hará por el código que está presente aquí,
porque hemos dicho la ruta DishRouter, y por lo tanto, note que esto dice barra,
lo que significa que este se monta en el punto final de los platos de barra.
Así que es por eso que cualquier cosa que venga a través de platos de corte será enviado a esto y
será manejado por esto.
Una gran pista para que piense cómo implementaría
ese punto final de identificación del plato de dos puntos.
Seguirá utilizando el mismo archivo dishRouter.js para implementar también el soporte para
ese punto final, /dishes/:DISHID.
Esa es otra gran pista para ti, ¿vale?
Con estos cambios, vamos
a guardar los cambios que hemos hecho en nuestra aplicación y luego reiniciar nuestro servidor y
luego echar un vistazo a cómo nuestro servidor va a hacer su trabajo. Al
ir a la terminal, permítanme reiniciar ese servidor escribiendo npm start.
Y una vez que el servidor esté en funcionamiento, voy a ir al cartero y
enviar solicitudes del cartero a este servidor.
Ir al cartero, ahora sé que mi servidor sólo está apoyando
el punto final platos, he implementado la parte ID plato de ella.
Así que déjame enviar una solicitud a los platos locales anfitriones y
verás que funciona exactamente como antes.
Ahora, si ha hecho una solicitud anterior en la publicación, simplemente puede hacer clic en eso y
luego volver a enviar esa solicitud.
Put operación no funciona, post operación, funciona como se ve allí.
Y luego causemos la operación de eliminación en los platos.
Y dice borrar todos los platos como se esperaba.
Entonces, esta es la implementación del soporte de API de resto usando enrutador express.
Con esto, completamos la segunda mitad de este ejercicio.
Este es un buen momento para que usted haga un comentario con el enrutador express mensaje.
Ahora que hemos completado este ejercicio en el que hemos visto cómo
se puede utilizar Express para apoyar la implementación del soporte de punto final de Res API en nuestro servidor,
y también el uso del router Express,
es hora de pasar a la primera tarea que sigue a esta lección.
[ MÚSICA]