Se você é um desenvolvedor web, provavelmente sabe quão importante é se comunicar com APIs. APIs são as interfaces que permitem que diferentes aplicações troquem dados e realizem ações. Uma das maneiras mais comuns de interagir com APIs é utilizando requisições HTTP. As requisições HTTP são mensagens que seguem um formato e protocolo específico, e podem ser usadas para enviar e receber dados de um servidor.
Existem diferentes tipos de requisições HTTP, como GET, POST, PUT, PATCH e DELETE. Cada uma tem um propósito e significado diferentes. Neste post do blog, vamos nos concentrar na requisição DELETE, que é usada para remover um recurso de um servidor. Vamos aprender como fazer uma requisição DELETE em Node.js, um ambiente de execução JavaScript popular que permite executar código JavaScript do lado do servidor.
Até o final deste post do blog, você terá uma compreensão sólida de como fazer uma requisição DELETE em Node.js e como trabalhar com APIs de forma eficaz. Vamos começar!
O que é uma Requisição DELETE e Quando Usá-la
Uma requisição DELETE é um dos métodos HTTP usados para se comunicar com APIs. Como o nome sugere, uma requisição DELETE é usada para deletar um recurso de um servidor. Um recurso pode ser qualquer coisa que seja identificada por uma URL única, como um usuário, um post, um comentário, um arquivo, etc.
Uma requisição DELETE geralmente é enviada com uma URL que especifica qual recurso deve ser deletado. Por exemplo, se você quiser deletar um usuário com o id de 123 de uma API, você pode enviar uma requisição DELETE para a URL https://example.com/api/users/123. O servidor então processará a requisição e retornará uma resposta indicando se a deleção foi bem-sucedida ou não.
Uma requisição DELETE é tipicamente usada quando você deseja remover algo que não é mais necessário ou relevante. Por exemplo, você pode usar uma requisição DELETE para:
- Deletar uma conta de usuário que está inativa ou é spam
- Deletar um post ou um comentário que é inadequado ou ofensivo
- Deletar um arquivo que está desatualizado ou corrompido
- Deletar um registro que é duplicado ou errôneo
No entanto, você deve ter cuidado ao usar uma requisição DELETE, pois é uma operação destrutiva que não pode ser desfeita. Uma vez que você delete um recurso, ele desaparece para sempre. Portanto, você deve sempre ter certeza de que possui a autorização e permissão adequadas para deletar um recurso, e que tem um backup ou um mecanismo de confirmação caso algo dê errado.
O que é Node.Js?
Node.js é um ambiente de execução JavaScript que permite executar código JavaScript fora de um navegador web. O Node.js é baseado no motor JavaScript V8 do Google Chrome e é usado para construir aplicações web, especialmente aquelas que são intensivas em dados e em tempo real. O Node.js também possui uma grande biblioteca de módulos e pacotes que você pode usar para adicionar funcionalidade aos seus projetos.

Alguns dos benefícios do Node.js são:
- É rápido e escalável, graças à sua natureza assíncrona e orientada a eventos.
- É multiplataforma e de código aberto, o que significa que você pode executá-lo em vários sistemas operacionais e contribuir para seu desenvolvimento.
- É consistente e unificado, pois você pode usar a mesma linguagem tanto para o front-end quanto para o back-end de sua aplicação web.
Como Fazer uma Requisição DELETE em Node.js Usando o Módulo HTTP Integrado
Uma das maneiras de fazer uma requisição DELETE em Node.js é utilizando o módulo http integrado. O módulo http é um módulo central que fornece funcionalidade de baixo nível para trabalhar com requisições e respostas HTTP. Para usar o módulo http, você precisa requerê-lo em seu código, assim:
const http = require('http');
Para fazer uma requisição DELETE usando o módulo http, você precisa usar o método http.request(). Este método aceita dois argumentos: um objeto de opções e uma função de callback. O objeto de opções contém os detalhes da requisição, como o método, o nome do host, a porta, o caminho, os cabeçalhos, etc. A função de callback é executada quando a requisição é concluída e recebe um objeto de resposta como parâmetro.
Por exemplo, digamos que queremos fazer uma requisição DELETE para a URL https://jsonplaceholder.typicode.com/posts/1, que é uma API fake que retorna dados de exemplo para fins de teste. Podemos usar o seguinte código para fazer isso:
const http = require('http');
// Defina o objeto de opções
const options = {
method: 'DELETE', // Especificar o método HTTP
hostname: 'jsonplaceholder.typicode.com', // Especificar o nome do host
port: 443, // Especificar a porta (443 para HTTPS)
path: '/posts/1', // Especificar o caminho
};
// Faça a requisição
const req = http.request(options, (res) => {
// Lidar com a resposta
console.log('Código de status:', res.statusCode); // Imprimir o código de status
console.log('Cabeçalhos:', res.headers); // Imprimir os cabeçalhos
// Obter os dados da resposta
let data = '';
res.on('data', (chunk) => {
data += chunk; // Concatenar os pedaços
});
// Quando a resposta terminar, imprimir os dados
res.on('end', () => {
console.log('Dados:', data); // Imprimir os dados
});
});
// Lidar com quaisquer erros
req.on('error', (err) => {
console.error('Erro:', err.message); // Imprimir a mensagem de erro
});
// Finalizar a requisição
req.end();
Como Fazer uma Requisição DELETE em Node.js Usando a Biblioteca Axios
Outra maneira de fazer uma requisição DELETE em Node.js é utilizando a biblioteca axios. Axios é uma biblioteca popular e fácil de usar que permite fazer requisições HTTP do Node.js ou do navegador. Axios tem muitos recursos e opções que tornam o trabalho com APIs mais simples e conveniente. Para usar o axios, você precisa instalá-lo em seu projeto usando npm ou yarn, assim:
npm install axios
# ou
yarn add axios
Para fazer uma requisição DELETE usando Axios, você precisa usar o método axios.delete(). Este método aceita dois argumentos: uma URL e um objeto de configuração opcional. A URL é a mesma que você usaria para o módulo http, e o objeto de configuração pode conter parâmetros e cabeçalhos adicionais para a requisição. O método axios.delete() retorna uma promessa, que você pode manipular com os métodos then() e catch().
Por exemplo, vamos usar a mesma URL de antes, https://jsonplaceholder.typicode.com/posts/1, e fazer uma requisição DELETE usando axios. Podemos usar o seguinte código para fazer isso:
const axios = require('axios');
// Faça a requisição
axios
.delete('https://jsonplaceholder.typicode.com/posts/1')
.then((res) => {
// Lidar com a resposta
console.log('Código de status:', res.status); // Imprimir o código de status
console.log('Cabeçalhos:', res.headers); // Imprimir os cabeçalhos
console.log('Dados:', res.data); // Imprimir os dados
})
.catch((err) => {
// Lidar com quaisquer erros
console.error('Erro:', err.message); // Imprimir a mensagem de erro
});
Se você rodar este código, deverá ver algo semelhante a isto no console:
Status code: 200
Headers: {
date: 'Ter, 05 Mar 2024 12:45:47 GMT',
'content-type': 'application/json; charset=utf-8',
'content-length': '2',
connection: 'close',
'x-powered-by': 'Express',
'x-ratelimit-limit': '1000',
'x-ratelimit-remaining': '998',
'x-ratelimit-reset': '1614938747',
vary: 'Origin, Accept-Encoding',
'access-control-allow-credentials': 'true',
'cache-control': 'no-cache',
pragma: 'no-cache',
expires: '-1',
'access-control-expose-headers': 'X-Json-Placeholder-User-Id',
'x-json-placeholder-user-id': '1',
etag: 'W/"2-vyGp6PvFo4RvsFtPoIWeCReyIC8"',
via: '1.1 vegur',
'cf-cache-status': 'DYNAMIC',
'cf-request-id': '08a9f9c9f40000e6b4b3f0a000000001',
'expect-ct': 'max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"',
'report-to': '{"group":"cf-nel","endpoints":[{"url":"https:\\/\\/a.nel.cloudflare.com\\/report?s=Q%2BZL0U%2FJ9%2F5i2coL0wvYcQLLmZvIML2Zzjwqk3Iw0%2B3U%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F
Como Fazer uma Requisição DELETE em Node.js Usando o Apidog
Apidog é uma ferramenta de API que simplifica o processo de criação e teste de APIs em Node.js. Ele permite que você defina seus endpoints de API usando uma sintaxe declarativa, e gera automaticamente documentação, validação e teste de sua API.
Aqui está como você pode usar o Apidog para testar sua requisição DELETE:
- Abra o Apidog e crie uma nova requisição.

2. Defina o método da requisição como HTTP DELETE.

3. Insira a URL do recurso que você deseja atualizar. Adicione quaisquer cabeçalhos ou parâmetros adicionais que deseja incluir e clique no botão “Enviar” para enviar a requisição.

4. Verifique se a resposta é o que você esperava.

Conclusão
Neste post do blog, aprendemos como fazer uma requisição DELETE em Node.js usando três maneiras diferentes: o módulo http integrado, a biblioteca Axios e a biblioteca Apidog. Vimos as vantagens e desvantagens de cada método, e como lidar com erros e respostas de uma requisição DELETE. Também aprendemos algumas dicas e melhores práticas para fazer requisições DELETE em Node.js e trabalhar com APIs de forma eficaz.