[MÚSICA]
Agora que entendemos REST API e suporte expresso para
REST API, vamos passar para o próximo exercício.
Onde vamos olhar para como vamos desenvolver a API REST
usando o suporte dado pelo express.
E também, o uso de roteador expresso,
permitindo-nos organizar nosso código de uma forma que é mais adequado
quando você precisa suportar um grande número de endpoints API REST.
Para começar, continuando com a pasta node-express
temos trabalhado no servidor web baseado em expressos.
No prompt, vamos instalar o corpo-parser,
então, para fazer isso, digite npm install body-parser —save.
E estamos usando a versão 1.18.3 do
corpo-parser neste curso aqui.
Agora, uma vez que tenhamos instalado corpo-parser, em seguida, ir para o nosso código.
No index.js5,
deixe-me exigir BodyParser, então
vamos dizer const bodyParser
exigem corpo-parser.
E, em seguida, sempre que você precisa usar um middleware,
você vai dizer, app.use (bodyParser.json).
Então, isso nos permite analisar o corpo da mensagem de solicitação,
que é formatado no formato JSON.
Uma vez que tenhamos concluído isso, então vamos começar a
construir o suporte da API REST para o endpoint /dish.
Usando os
métodos app.all, app.get, put, post e delete são suportados pelo express.
Então, para fazer isso, deixe-me começar dizendo
app.all, e os primeiros parâmetros
que app.all toma é o endpoint.
Então, neste caso, estou especificando o ponto final de /dishs.
E então o segundo parâmetro é a função de retorno de chamada,
req, res, em seguida, os três parâmetros aqui.
E dentro desta função de retorno de chamada, vamos lidar com a solicitação recebida.
Então vamos dizer, quando um pedido chegar, para todos os pedidos.
Então, quando dizemos app.all, não importa qual método é chamado,
get, put, post ou delete, para o endpoint /dish REST API,
este código será executado primeiro por padrão aqui.
Então, vamos dizer res StatusCode é 200 e
, em seguida, Res.SetHeader e
digamos texto Content-Type.
Enviaremos texto sem formatação agora, em vez de texto HTML.
Isso deve ser suficiente para endpoints de API REST.
Mais tarde, enviaremos os dados na forma de JSON uma vez que
somos capazes de recuperar os dados do banco de dados.
Então isso virá em um dos exercícios posteriores.
No momento, vamos simplesmente enviar respostas de texto simples para o cliente.
Agora, depois desses dois, o middleware aqui não está concluído ainda.
Então vamos chamar a próxima função aqui, então a próxima como você vê se refere a esta próxima.
Então, quando você chamar a seguir, o que isso significa é que ele vai continuar a procurar
especificações adicionais abaixo aqui,
que irá coincidir com este endpoint pratos.
Então isso seria feito para todos os pedidos, obter, colocar, postar
, e excluir, na louça, e ele vai continuar para o próximo.
Então aqui, suponha que temos um pedido get
em pratos, o que significa que agora,
se obtivermos um pedido get em pratos,
primeiro isso será executado, e
então o req e res serão passados
para esta segunda chamada aqui.
Então, neste caso, eu não vou mais precisar do próximo,
porque eu não vou chamar mais para baixo.
Eu vou completar o manuseio direito dentro deste método aqui em si.
Então, se modificarmos o req ou res dentro deste código,
então quando você chamar o próximo, esse objeto modificado
será passado como o parâmetro para este.
Então, se você emitiu um pedido get em pratos, então isso é o que será
executado logo após isso, então este próximo fará com que ele passe adiante.
E então aqui, você percebe que modificamos o objeto res aqui.
E a modificação será transportada como parâmetro de entrada para esta função aqui.
Então, dentro desta função get, podemos dizer, por exemplo, no momento,
eu simplesmente vou enviar de volta uma mensagem simples, vamos dizer,
vai enviar todos os pratos para você.
Mais tarde, quando recuperamos as informações pratos do banco de dados
depois de aprender sobre MongoDB, então esta função estará retornando
esses dados JSON de volta para o cliente, uma vez que está em um pedido get aqui.
Agora, no curso anterior, tínhamos usado o servidor JSON, e
o servidor JSON já estava fornecendo tudo isso para nós.
Agora você está vendo como você construiria
um servidor real que processará a solicitação de entrada.
E, em seguida, gerar uma resposta apropriada e
enviá-la de volta para você em resposta à solicitação recebida do lado do cliente.
E é aqui que o usuário expressa, como vemos aqui, é útil.
Então temos tratado get,
vamos lidar com post também em pratos aqui.
E novamente, os parâmetros seriam (req, res,
next), e essa função que é invocada estará aqui.
Agora, quando o pedido for recebido, porque aqui, você está chamando rest.end.
Assim, esse fim é o tratamento da solicitação get e não aciona a resposta
a ser enviada de volta, ou resposta a ser enviada de volta para o cliente neste momento.
Agora, se você receber um pedido de postagem sobre pratos, novamente, todo este código será executado.
E então, por causa deste próximo, que irá cair nesta chamada de função aqui.
E, em seguida, o código aqui, será executado, então, quando você receber um
post O pedido de post vindo do servidor irá levar algumas informações
no corpo da mensagem na forma de dados JSON.
Eles vão ver qual é a forma dos dados JSON quando
olhamos mais tarde quando testamos ponto final usando post net.
Vou mostrar-lhe o que o corpo da mensagem de solicitação de postagem conterá.
Mas neste ponto, o que eu vou fazer é,
eu vou extrair a informação do corpo.
E então aqui quando usamos o analisador de corpo, o que acontece é que para
a solicitação de entrada, o corpo da solicitação de entrada será analisado e,
em seguida, adicionado ao objeto req como req.body.
Então o req.body lhe dará acesso ao que estiver dentro desse corpo
da mensagem.
Então, quando eu enviar a solicitação,
vou adicionar informações ao
corpo da solicitação na forma de uma string JSON que
contém um nome e uma descrição.
Então eu vou extrair esses dois pedaços de informação e, em
seguida, imprimi-los e, em seguida, enviá-los de volta para o cliente na mensagem de resposta.
Então eu posso dizer, req.body.e depois nomear.
Assim, a expectativa é que quando o cliente envia a mensagem post,
o corpo da mensagem postada conterá uma string JSON,
que também conterá a propriedade name na string JSON.
Então req.body.name plus e
é aqui que vou incluir
com detalhes: + req.body.description.
Portanto, qualquer que seja a string JSON contiver no req.body, mas a
string JSON será analisada em um objeto JavaScript e
adicionada ao objeto request como um corpo de propriedade.
O objeto JavaScript aponta para o que
veio como a string JSON no corpo da mensagem de solicitação.
Então é por isso que eu sou capaz de analisar a propriedade name, a propriedade description,,
você pode ter a propriedade price, a propriedade image, e tudo isso.
Então, se você fez o curso anterior, você viu a estrutura de um
objeto dish, na forma de uma string JSON ou o objeto JavaScript lá.
Então, o nome e a descrição parecem familiares para você.
Então é exatamente isso que estou usando aqui.
Neste momento, só estou a extrair o nome e a descrição do corpo e
depois a enviar de volta ao cliente deste corpo.
Então eu estou apenas construindo esta mensagem de resposta aqui usando as informações
do corpo da mensagem de solicitação, e, em seguida, enviá-la de volta para o cliente.
Assim eu posso confirmar que o servidor está recebendo o que eu estou enviando
no corpo da mensagem.
Então este é o pedido de correio.
Agora para colocar, deixe-me apenas copiar isso, e depois colá-lo aqui.
E, em seguida, para colocar no ponto final pratos,
porque ele colocar no ponto final pratos não faz sentido.
Um post significa que você está postando um novo prato para os servidores.
A colocar no ponto final de pratos não faz sentido,
então aqui o que eu vou fazer é eu
vou responder de volta com a
operação PUT mensagem não suportada em /dishes.
Além disso, Eu também, Incluir um código de status de 403.
403 significa que sua operação não é suportada.
Então, se você olhar para trás para a tabela de códigos de resposta HTTP,
você verá o código correspondente 403 o que ele representa lá.
Então é isso que eu estou usando para postar.
Para excluir, Eu vou copiar
este e para excluir eu vou,
Basta analisar isso, e então vamos dizer, Excluindo todos os pratos.
Então, quando você envia uma solicitação de exclusão nesse ponto de extremidade /dish.
É interpretado como significando que
o cliente deseja excluir todas as informações de pratos no lado do servidor.
Agora, esta é uma operação perigosa, então
certifique-se de que você não permite que usuários parceiros façam isso.
Então, mais tarde, quando
estudarmos a autenticação, veremos como podemos verificar esta operação apenas para usuários privilegiados.
Mas novamente, como você vê, esta é uma operação perigosa, então tenha em mente sobre isso.
Então agora você vê que no endpoint pratos, temos obter, colocar, postar
e excluir suporte.
Vamos também apoiar isso nos pratos/:endpoint DISHID.
Então eu vou copiar os métodos get, put, post, e excluir a partir daqui,
e, em seguida, chama todos eles também para ser apoiado em
pratos/:DISHID.
Então isso é para o get, e nós copiamos isso e
postamos, colocamos e excluímos.
Como lidamos com cada um desses?
Então, para obter, se eu receber um pedido em pratos/DISHID,
o que eu gostaria de fazer é extrair este parâmetro e, em
seguida, enviá-lo de volta no pedido, na mensagem de resposta.
Então vamos dizer, vamos enviar,
Detalhes do prato.
Agora qual prato?
Essas informações estão no parâmetro.
Portanto, este valor de parâmetro pode recuperar de
req.params.dishid.
Então este DishID, como você vê, o nome que você usa aqui deve corresponder a este valor aqui.
Então, se você simplesmente ver ID aqui,
isso também deve ser correspondente ao SiD dado aqui.
Portanto, o nome em si não significa nada, exceto que este nome de parâmetro e
este deve corresponder um ao outro, para que você possa recuperar as informações corretamente.
Então, vamos dizer, enviar os parâmetros prato DisHid e
, em seguida, vamos dizer para você.
Assim, sabemos que o servidor está recebendo o parâmetro prato..
Então, se eu disser /pratos/23 há várias respostas
irá enviar os detalhes do prato 23 para você e assim por diante.
Então vamos ver como ele funciona quando usamos post para testar este servidor.
Agora para o correio.
Para post, este método não vai ser suportado,
então eu vou apenas copiar esta parte.
não faz sentido fazer um post em um ID de prato específico,
porque você não está tentando adicionar um novo prato.
Mas você deseja modificar, e modificação é feita usando a operação put.
Então, vamos dizer, operação POST não suportada em /dishes.
E então eu vou adicionar no.
Req.Params.Disid.
Então, isso vai enviar de volta dizendo post não suportado em
pratos/23 na mensagem de resposta.
Agora, para PUT, para PUT, vamos dizer,
res.end e dizer Will, atualize o prato.
Req.Params.Disid.
Ou melhor, faremos assim.
Vou escrever primeiro, então
res.write pode ser usado para adicionar uma linha à mensagem de resposta.
Então vamos dizer atualizando o prato.
E diremos req.params.dishid.
E uma vez que esta é uma operação PUT, e se o corpo contém a string JSON,
que contém os detalhes do prato,
eu posso extrair a string JSON porque estamos usando o analisador de corpo.
Então vamos dizer Will
atualizar o prato:.
Qual prato?
req.body.name.
Além disso.
Com detalhes,
req.body.description.
Agora, quando atualizarmos o prato, eu quero adicionar uma nova linha lá.
Então eu vou dizer '/n' lá.
Então, quando você faz um PUT, você está enviando de volta as informações sobre qual ID prato você
está atualizando, e também, os detalhes que você está atualizando.
O nome e a descrição,
que deve estar no corpo da mensagem PUT lá.
Para excluir, Ele vai dizer Deletando prato, e req.params.dishid.
E assim, para excluir, esta é a operação que será realizada.
Então você vê que agora temos as
operações get, put, post e delete nos pratos/DISHID, endpoint, e
também as operações get, put, post no /dish, endpoint.
Então, vamos agora salvar as alterações.
E iniciar o nosso servidor novamente.
Inicie o servidor dizendo npm start.
Vamos agora para o carteiro e enviar alguns pedidos para este servidor e
ver o que ele retorna.
Deixe-me primeiro emitir um get ao anfitrião local 3,000 e ver o que ele retorna.
Então, quando você envia uma solicitação para obter o host local 3.000,
ele ainda está retornando a página HTML de início do índice,
porque o tratamento de arquivo estático ainda está no lugar.
Agora deixe-me enviar um pedido get para localhost: 3000/pratos, e isso,
como você espera, enviará de volta uma resposta dizendo que vamos enviar todos os pratos para você.
Agora, vamos enviar uma solicitação POST para localhost:3000/pratos.
Então é aqui que você pode alterar os vários métodos que você deseja executar.
Mas quando você envia uma postagem,
você quer incluir alguns detalhes no corpo da mensagem porque
há alguém esperando que você envie informações no corpo da mensagem.
Então clique no corpo aqui e clique em raw aqui.
E, em seguida, para o texto, você seleciona isso para JSON, então
use o aplicativo JSON.
Assim, o tipo de conteúdo seria aplicativo/JSON
na solicitação que você envia.
Então, uma vez que este é um objeto JSON, então
dentro de chaves, eu vou dizer nome.
Vou simplesmente digitar o teste
e a descrição.
Algumas informações padrão aqui, para que você veja que esta é uma string JSON que
contém duas propriedades, nome e descrição e os valores correspondentes.
Então vamos enviar um pedido de postagem para o servidor.
Quando você envia um pedido de post para o servidor, como você vê,
na resposta ele diz irá adicionar o prato: detalhes da semana de teste: descrição.
Então, como você pode ver, as duas informações são extraídas do corpo
do JSON solicitado [INAUDIBLE] e, em seguida, incluídas na resposta.
Vamos enviar um pedido de colocação para pratos.
Quando você envia um pedido de colocar para pratos, como você vê,
ele diz operação PUT não suportado em /pratos, e olhar para o status aqui.
Diz Estado: 403 Proibido.
Portanto, esta operação não é permitida neste ponto final.
Vamos fazer uma operação DELETE nos pratos.
Quando você DELETE operação nos pratos,
então você notará que ele diz excluir todos os pratos.
Então essa é a resposta que você recebe.
Então você vê que o get post, put e
delete no endpoint /dish funciona como você espera.
Agora vamos fazer um get em pratos /23.
Então 23 aqui é o parâmetro,
o ID do prato que você deseja obter.
Então, quando você enviar um pedido para que o servidor vai responder,
vai enviar detalhes do prato: 23 para você.
Então você vê que o parâmetro foi extraído da mensagem de solicitação e
, em seguida, incluído na mensagem de resposta.
Vamos fazer um post sobre isso.
E como você sabe, o POST não é permitido neste endpoint, e
é por isso que você obtém um status 403 Proibido sobre isso.
Vamos fazer uma operação PUT sobre isso.
Então, para a operação PUT, você percebe que o corpo ainda contém isso.
Assim, no POST, quando você digita um valor aqui,
que será retido e pode ser incluído em outras solicitações que você está enviando.
Então, quando você envia um pedido PUT no endpoint, pratos/23.
Então você percebe que ele diz atualizar o prato, 23.
Atualizará o prato, o nome do prato,
com detalhes, a descrição do prato aqui.
E, em seguida, vamos fazer uma operação de exclusão nesse ponto final e, em
seguida, ele diz, d excluir prato: 23.
Portanto, todos esses endpoints são suportados como você vê neste exemplo aqui.
Então temos feito obter PUT, POSRT, e excluir operações tanto no endpoint /dish
e também o /dishes/ o endpoint de id prato.
Então, você vê como implementamos o suporte de endpoint de API REST para
um conjunto de endpoints de API REST.
Agora, com isso, completamos a primeira parte deste exercício.
Então, aqui temos visto como podemos usar express para construir e
implementar o endpoint API REST para os pratos.
Agora, este é um bom momento para
você fazer um git commit com a mensagem Express Simple REST.
De acordo com o terminal vou iniciar o servidor.
Verifique se três dos itens foram alterados.
Então, git add, git commit -m,
Express Simples REST, E verifique o conjunto.
Então, como você pode ver, usando o Express você pode facilmente implementar suporte para REST API.
E como você pode ver nesta lista, você constrói os
métodos get, PUT, POST e delete para todos os endpoints da API REST como este.
Agora imagine que você tem mil endpoints de API
REST, e você precisa construir algo assim.
Seu arquivo index.js explodirá com tantos pontos de extremidade da API REST diferentes.
E cada um sendo tratado usando seu próprio app.get,
app.put, app.delete e app.post.
Agora a Wxpress oferece suporte a uma maneira de subdividir esse trabalho em vários
aplicativos Express,
que então podem ser combinados para formar o aplicativo geral Express.
É aqui que faremos uso do Express
Router para construir um mini aplicativo Express.
E, em seguida, dentro de um arquivo do Express Router,
ofereceremos suporte ao endpoint da API REST para um grupo de partes da API REST.
Assim, por exemplo, para pratos e pratos DISHID,
todos eles podem ser suportados em um arquivo.
Da mesma forma, na atribuição, você estará oferecendo suporte a um
endpoint de API REST chamado promoções e promoções/:Promoid.
E então, você oferecerá suporte a outra API REST e
para líderes e /Leader:LeaderId.
Portanto, cada um desses grupos pode ser implementado separadamente como muitos
aplicativos Express usando o Express Router.
Então é isso que eu vou ilustrar para você para
o endpoint pratos na próxima parte deste exercício.
Então, para fazer isso, percebemos que se colocarmos todos os arquivos em uma única pasta,
então novamente sua estrutura de pastas parecerá bagunçada.
Então minha preferência é criar uma pasta aqui chamada rotas.
E essa pasta de rotas conterá todos os roteadores que vou
projetar usando o Express Router.
Então, na pasta rotas, eu vou criar um novo arquivo chamado
dishRouter.js.
E este arquivo dishRouter.js conterá
a implementação do processamento do endpoint da API REST para
endpoints /dish e /dishes:DISHID.
Agora, como fazemos uso do Express Router?
Vamos ver como podemos usá-lo.
Agora o Express Router vem junto com o Express, portanto, não precisamos instalar
mais um módulo Node.
Em vez disso, podemos trabalhar com o Express que já instalamos.
Então, para fazer isso, nesse prompt, digite, const express
= require ('express');.
Portanto, observe que, uma vez que este é um mini-aplicativo,
ainda exigimos expressos mesmo neste arquivo dishRouter.js.
E a partir de seu conhecimento de módulos Node, uma vez que você definir um novo arquivo,
que se torna seu próprio módulo Node.
E este módulo Node pode então ser importado em index.js.
Então você vê a conexão já entre como podemos reestruturar nossa
aplicação em vários arquivos usando módulos Node.
Então vamos definir exigem Express, então vamos dizer const
BodyParser exigem ('corpo-analisador').
Então, já instalamos o BodyParser nas etapas anteriores do exercício,
então podemos usar isso.
Agora, para usar um roteador Express,
deixe-me declarar const DishRouter = Express.r.
E no express, ele suporta esta interface de roteador, então vamos simplesmente
dizer Express.Router e isso irá declarar DishRouter como um roteador Express.
Então, em muitos aplicativos Express,
uma visão aqui eu posso lidar com esse código relacionado DishRouter aqui.
Então, uma vez que eu declarar deste um roteador no Express, então eu posso dizer DisishRouter.
E, em seguida, no DishRouter, ele suporta um método chamado método de rota,
que pode levar em um endpoint como um parâmetro.
Então eu simplesmente declararia este ponto final um /.
Agora, você está se perguntando, isso não deveria ser pratos?
Em breve, você verá que preciso montar este
roteador Express no meu arquivo index.js.
Então, no meu arquivo index.js, vou montar este roteador express no ponto de extremidade /dish.
Montagem de um roteador expresso, novamente,
mais um conceito que eu quero que você entenda.
Mais uma vez, vou ilustrar isso para vocês daqui a pouco.
Agora, o DisishRouter.route significa que usando essa abordagem,
estamos declarando o ponto final em um único local.
Pelo qual você pode encadear todos obter, PUT, POST,
excluir métodos já fazer este roteador prato.
Agora, quando você olha para index.js,, olhe para a maneira como implimentamos isso.
Então temos app.all e, em seguida, /pratos, app.get/pratos e /pratos.
Agora, se você tivesse cometido um erro, e sua app.post instruindo
/pratos em vez disso, se você apenas digitar /prato, então o que acontece?
A operação POST não será suportada em pratos, mas
será suportada no endpoint /dish.
Para evitar esse problema, o roteador express oferece suporte a esse ponto final de rota.
No ponto final da rota,
você simplesmente especifica o ponto final no qual esse roteador funcionará.
E então, o método get put part delete, isso simplesmente encadeado em que.
Então, será um grupo de implementações de métodos todos juntos.
Então essa é a razão pela qual eles usam um roteador Express.
Por isso, ele vem com um par de
suporte muito útil para garantir que sua implementação está correta.
Então agora que vamos fazer isso como o roteador de prato,
o que eu vou fazer é remover essa coisa daqui.
Agora, que pratos IDN ponto, Eu vou deixar isso
para você como um exercício em sua primeira tarefa, mas
o endpoint pratos, Eu vou cortar isso, todo o caminho até todos.
Eu vou cortar isso do index.js5 e
mover isso para o DishRouter aqui.
Agora, quando eu mover isso para o DisHRouter, eu não preciso mais deste app.all.
Eu simplesmente encadear isso na rota, então eu vou simplesmente dizer .all e
então eu não preciso mais dessa definição de ponto final lá.
É isso. Então
ele vai dizer .all e então vamos dizer req, res, em seguida.
E isso, tudo está operando neste ponto final específico
já especificado aqui.
Agora, não só isso, podemos encadear os métodos restantes.
Então é por isso que você vê que eu removi o ponto-e-vírgula daqui.
Vou apagar este aplicativo e depois anexá-lo a isso.
Assim que ficar também é alterado para a rota, e então eu posso remover
esta parte, o manuseio permanecerá exatamente o mesmo que antes.
Assim, da mesma forma, Vou remover o, App lá.
E, novamente, exclua isso do post.
E a mesma coisa.
Para colocar, e
para deletar, a mesma coisa.
Portanto, note que não há ponto e vírgula aqui, aqui ou
aqui, mas o último, a exclusão, terá o ponto-e-vírgula no lugar.
Então este grupo é uma única unidade implementada usando
o roteador prato neste roteador particular, e todos estes são acorrentados juntos.
E também, claro, com exclusão, preciso remover esse ponto final.
É isso, veja, estrutura limpa do código aqui.
Então, essencialmente, acaba implementando o DishRouter, certo,
lembre-se, este DishRouter é definido dentro do arquivo dishRouter.js.
Agora, eu preciso exportar isso deste módulo de nó.
Então, para exportar isso, eu vou para o fundo aqui e
eu vou dizer module.export e
dizer, DishRouter.
É isso.
Então, agora, meu DishRouter está exportando tudo o que eu preciso.
Agora, você está olhando para isso e dizendo, que tal prato Colon.
Isso vai ser parte da sua primeira missão.
Além disso, você estará implementando dois endpoints adicionais da API REST, as promoções e os líderes.
Mas isso já mostra a estrutura de como uma
implementação de roteadores Express de suporte a API res se parece.
Então isso é para DisishRouter.Router.
E uma última coisa antes que eu esqueça,
devemos dizer dishrouter.Use (bodyparser.JSON ()).
Agora, uma vez que você tenha concluído a implementação do DISHRouter,
agora podemos ir para o arquivo index.js.
Uma vez que este DishRouter é outro módulo de nó, um módulo de nó fino, no entanto.
Então precisamos importar isso em nossa aplicação.
Então, aqui mesmo, eu vou importar const
DishRouter é igual a exigir.
Agora, uma vez que este é um módulo de nó baseado em arquivo,
eu vou dizer. /Rota/Dishrouter.
E uma vez que eu os tenha declarado lá, então eu entro no código aqui.
E bem ali, eu digo app.use.
E monto o roteador em um ponto final.
Então, como faço para montar o roteador?
O primeiro parâmetro aqui, vou especificar pratos de barra.
E o segundo parâmetro, especifique DishRouter.
E é isso.
Então o que isso significa é que na minha aplicação expressa,
qualquer pedido vindo para esse ponto final pratos barra será tratado por DishRouter,
e isso será feito pelo código que está presente aqui,
porque nós dissemos rota DishRouter, e então note que isso diz barra,
então o que significa que este é montado no ponto final de pratos de barra.
Então é por isso que qualquer coisa que venha através de pratos de barras será enviado para este e
será tratado por isso.
Uma grande dica para você pensar sobre como você iria implementar
o ponto final do id prato do cólon.
Você ainda usará o mesmo arquivo dishRouter.js para implementar também o suporte para
isso, /Dishes/:DISHID ponto final.
Essa é outra grande dica para você, ok?
Com essas alterações, vamos salvar as alterações que fizemos em
nosso aplicativo e, em seguida, reiniciar nosso servidor e
, em seguida, dar uma olhada em como nosso servidor vai fazer seu trabalho.
Indo para o terminal, deixe-me reiniciar esse servidor digitando npm start.
E assim que o servidor estiver funcionando, vou até o carteiro e
enviar pedidos do carteiro para este servidor.
Indo para carteiro, agora eu sei que o meu servidor está apenas apoiando
o ponto final pratos, Eu implementei a parte ID prato dele.
Então deixe-me enviar um pedido get para pratos anfitriões locais e
você verá que ele funciona exatamente como antes.
Agora, se você tiver feito uma solicitação anterior no post, então você pode simplesmente clicar sobre isso e
, em seguida, reenviar esse pedido.
Colocar operação não funciona, pós-operação, Funciona como você vê lá.
E então vamos causar a operação de exclusão nos pratos.
E diz apagar todos os pratos como esperado.
Então, esta é a implementação do suporte de API restante usando roteador expresso.
Com isso, completamos a segunda metade deste exercício.
Este é um bom momento para você fazer um comentário get com o roteador express mensagem.
Agora que concluímos este exercício onde vimos como o Express pode
ser usado para suportar a implementação do suporte de ponto final da API Res em nosso servidor,
e também o uso do roteador Express,
é hora de passar para a primeira atribuição que segue esta lição.
[ MUSIC]