Tudo que Você Precisa Saber Sobre a Requisição PUT do NodeJS Express
Pensando em construir aplicativos web ou APIs? NodeJS Express é um framework conhecido que facilita e torna o desenvolvimento mais consistente. Este artigo mostrará como lidar com requisições POST usando NodeJS Express!
O ambiente de execução do NodeJS se tornou uma escolha popular para a construção de aplicações web modernas devido à sua arquitetura eficiente orientada a eventos e à fundação em JavaScript. Dentro desse ecossistema, o Express se destaca como um framework web proeminente, oferecendo uma abordagem robusta e simplificada para o desenvolvimento.
Apresentando Apidog, uma ferramenta sofisticada de API que fornece aos desenvolvedores uma ferramenta de geração de código para um desenvolvimento mais eficiente de aplicativos e APIs.
Para saber mais sobre o que o Apidog tem a oferecer, clique no botão abaixo.
Um dos pilares das APIs web eficazes reside na utilização de métodos HTTP que ditam como os recursos são interagidos. O método PUT desempenha um papel crucial nesse contexto, permitindo que os desenvolvedores realizem atualizações direcionadas em recursos existentes.
Antes de nos aprofundarmos em como fazer requisições PUT com NodeJS Express, vamos entender completamente o que são NodeJS e Express separadamente.
O que é NodeJS?
NodeJS é um software de código aberto que quebra o molde ao permitir que JavaScript seja executado fora dos navegadores web. Essa flexibilidade se estende a diferentes sistemas operacionais, tornando-o uma ferramenta versátil para os desenvolvedores. Este documento mergulha fundo no que o NodeJS oferece, explorando suas capacidades e como ele mudou a forma como abordamos o desenvolvimento de software.
Principais Características do NodeJS
Arquitetura Orientada a Eventos
Ao contrário dos servidores web tradicionais, o NodeJS não usa threads. Em vez disso, depende de um loop de eventos para lidar com várias requisições de forma eficiente. Essa abordagem orientada a eventos torna o NodeJS ideal para aplicações que lidam com um alto volume de conexões simultâneas, como aplicativos de chat ou streaming de dados em tempo real.
JavaScript em Todo Lugar
NodeJS utiliza o motor JavaScript V8, o mesmo que alimenta o Google Chrome, para executar código. Isso permite que os desenvolvedores usem JavaScript tanto para o desenvolvimento front-end quanto back-end, reduzindo a necessidade de aprender e gerenciar várias linguagens.
I/O Não Bloqueante
NodeJS utiliza um modelo de I/O não bloqueante. Isso significa que ele não espera que operações lentas (como leitura de um banco de dados) terminem antes de lidar com outras requisições. Em vez disso, ele avança para a próxima requisição enquanto a operação lenta é concluída em segundo plano. Isso mantém o servidor responsivo e eficiente.
Ecossistema Rico e NPM
NodeJS possui uma comunidade vasta e ativa que contribui para um enorme gerenciador de pacotes chamado npm (Node Package Manager). O NPM oferece uma ampla variedade de módulos pré-escritos para várias funcionalidades, economizando tempo e esforço dos desenvolvedores ao fornecer componentes de código reutilizáveis.
Escalabilidade
Aplicações NodeJS podem ser facilmente escaladas horizontalmente. Isso significa que você pode adicionar mais servidores de trabalho para lidar com o aumento de tráfego, tornando o NodeJS adequado para construir aplicações grandes e complexas.
O que é Express?
Express, também conhecido como ExpressJS, é um framework web popular para NodeJS que capacita os desenvolvedores a construir aplicações web e APIs com maior facilidade. Ele atua como uma camada de abstração, proporcionando uma abordagem mais conveniente e estruturada em comparação a trabalhar diretamente com as funcionalidades subjacentes do NodeJS. Isso se traduz em uma redução significativa de código repetitivo (código padrão), permitindo que os desenvolvedores se concentrem na lógica central de suas aplicações e acelerem o processo de desenvolvimento.
Principais Características do ExpressJS
Roteamento
ExpressJS se destaca na definição de rotas, que mapeiam URLs para funções específicas que tratam requisições recebidas. Essa organização torna o código da sua aplicação mais legível e sustentável.
Middleware
Uma força central do ExpressJS é sua funcionalidade de middleware. Middleware atua como mini-aplicações que interceptam requisições e respostas, permitindo que você execute tarefas comuns como registro, autenticação ou fornecimento de arquivos estáticos antes que a requisição chegue ao seu destino final.
Motores de Template
ExpressJS integra-se perfeitamente com vários motores de template, como EJS, Pug ou Handlebars. Esses motores permitem que você crie páginas HTML dinâmicas combinando HTML com conteúdo gerado no lado do servidor.
Tratamento de Erros
ExpressJS oferece uma abordagem estruturada para o tratamento de erros. Você pode definir manipuladores de erros personalizados para capturar e responder a erros de forma elegante, melhorando a experiência geral do usuário de sua aplicação.
Comunidade e Ecossistema
ExpressJS se beneficia de uma grande e ativa comunidade de desenvolvedores. Isso se traduz em uma vasta quantidade de middleware, bibliotecas e recursos prontamente disponíveis, economizando tempo e esforço dos desenvolvedores ao construir aplicações web.
Como Fazer Requisições PUT com NodeJS Express?
Para garantir que você possa executar as requisições PUT, primeiro será necessário garantir que seu sistema tenha NodeJS e NPM instalados.
Pré-requisitos
Primeiro, crie um diretório de projeto e inicialize um projeto NodeJS dentro dele usando o NPM:
mkdir nodejs-put-request
cd nodejs-put-request
npm init -y
Em seguida, instale o framework ExpressJS como uma dependência do seu projeto:
npm install express
Passo 1 - Construindo uma Rota PUT
Dentro do diretório do seu projeto, crie um arquivo chamado server.js
. Este arquivo conterá a lógica da aplicação ExpressJS. O trecho de código abaixo demonstra uma rota PUT básica:
const express = require('express');
const app = express();
const port = 3000;
// Armazenamento de dados em memória (substitua por um banco de dados para produção)
let data = {
id: 1,
name: "John Doe",
age: 30
};
// Rota PUT para atualizar dados com base no ID
app.put('/api/data/:id', (req, res) => {
const id = req.params.id;
const updatedData = req.body;
// Valide a existência de dados antes da atualização
if (data.id !== parseInt(id)) {
return res.status(404).send("Dados não encontrados");
}
// Atualize as propriedades dos dados usando a sintaxe de espalhamento de objetos
data = { ...data, ...updatedData };
res.json(data);
});
app.listen(port, () => {
console.log(`Servidor ouvindo na porta ${port}`);
});
Explicação do Código
- Importamos o Express e criamos uma instância da aplicação Express.
- Um objeto de dados de exemplo serve como um espaço reservado (um banco de dados seria utilizado em produção).
- A rota PUT (
/api/data/:id
) captura um parâmetro de ID da URL. - A existência dos dados é verificada antes de tentar uma atualização.
- Se os dados forem encontrados, os dados atualizados do corpo da requisição são mesclados com o objeto de dados existente usando a sintaxe de espalhamento de objetos (
...
). - Finalmente, os dados atualizados são enviados de volta na resposta como JSON.
Passo 2 - Enviando uma Requisição PUT (Usando Apidog)
Para simular o envio de uma requisição PUT, você pode utilizar uma ferramenta como Apidog.
O que você precisa fazer é:
- Definir o método HTTP como PUT.
- Definir a URL como
http://localhost:3000/api/data/1
(substitua 1 pelo ID desejado). - No tabulador de corpo, defina o tipo de conteúdo como JSON e forneça os dados que você deseja atualizar (por exemplo, {"name": "Jane Doe"}).
- Envie a requisição.
A seção abaixo destacará mais sobre o que o Apidog tem a oferecer.
Considerações Importantes e Melhores Práticas
Este exemplo serve como uma ilustração básica para fazer requisições PUT com NodeJS Express. Lembre-se de incorporar recursos adicionais em suas aplicações do mundo real:
- Tratamento de Erros: Implemente mecanismos robustos de tratamento de erros para gerenciar elegantemente possíveis problemas durante o processo de atualização.
- Validação: Valide os dados recebidos para garantir que eles estejam de acordo com seu esquema e restrições definidos.
- Integração de Banco de Dados: Para aplicações em produção, integre uma solução de banco de dados como MongoDB ou PostgreSQL para armazenamento persistente de dados.
- Middleware: Explore as funcionalidades de middleware dentro do ExpressJS para lidar com tarefas como autenticação, autorização e registro para uma aplicação mais segura e bem estruturada.
Apidog - Fazendo uma Requisição PUT
Como foi apresentado anteriormente, você pode fazer uma requisição PUT em pouco tempo com o Apidog, uma ferramenta abrangente de desenvolvimento de API que possui ferramentas completas para todo o ciclo de vida da API.
Primeiro, clique no botão Nova Requisição
para criar uma nova requisição para a requisição PUT do NodeJS Express.
Em seguida, certifique-se de alterar a requisição para uma requisição PUT. No quadro destacado na imagem, insira o endpoint da API que deseja acessar.
Prossiga incluindo os detalhes necessários para sua requisição PUT.
Gerar Código JavaScript para Sua Aplicação com Apidog
Como NodeJS e Express são escritos usando a linguagem de programação JavaScript, você precisará ter uma compreensão da linguagem. Felizmente, o Apidog possui um recurso de geração de código.
Primeiro, localize o botão </>
encontrado no canto superior direito da tela. Se você estiver tendo dificuldade em localizar o botão, pode se referir à imagem acima.
Prossiga selecionando a linguagem de programação do lado do cliente que você precisa. Você pode escolher qual biblioteca JavaScript você se sente mais confortável.
Tudo o que você precisa fazer é copiar e colar o código no seu IDE e continuar com a edição para garantir que ele se adeque ao seu aplicativo NodeJS! No entanto, se você estiver interessado em usar Unirest conforme mostrado na imagem acima, você pode consultar o artigo aqui:
Conclusão
NodeJS Express capacita os desenvolvedores a construir APIs robustas e versáteis que integram requisições PUT para atualizações direcionadas de recursos. Este guia explorou os conceitos centrais envolvidos no tratamento de requisições PUT dentro de aplicações NodeJS Express. Nós caminhamos pela criação de um projeto, criação de uma rota PUT e simulação de uma requisição usando o Postman.
Lembre-se, isso serve como uma base. Aplicações do mundo real devem incorporar melhores práticas como tratamento de erros, validação de dados, integração de banco de dados e middleware para uma abordagem de desenvolvimento abrangente e segura. Ao dominar as requisições PUT dentro do NodeJS Express, você pode gerenciar e atualizar efetivamente recursos dentro de suas aplicações web e APIs.