🗑️ Método DELETE

O método DELETE é utilizado para remover um recurso do servidor, identificado por uma URL específica. Ele é idempotente, ou seja, mesmo que a requisição seja enviada várias vezes, o resultado final será o mesmo: o recurso será excluído (ou já estará ausente). É comumente usado em sistemas onde se deseja eliminar registros, como apagar um usuário, produto ou qualquer outro dado persistido. Após um DELETE bem-sucedido, o servidor geralmente retorna um status 200, 202 ou 204, indicando que a operação foi concluída. Caso o recurso não exista, o servidor pode retornar um status 404 Not Found, informando que não há nada para ser excluído. Ainda assim, como o objetivo final (ausência do recurso) é o mesmo, a operação continua sendo considerada idempotente.

📥 Exemplo com DELETE — Excluir um recurso

fetch('https://api.exemplo.com/usuarios/123', {
  method: 'DELETE',
  headers: { 'Content-Type': 'application/json' }
})
.then(response => {
  if (response.ok) {
    console.log('Usuário excluído com sucesso');
  } else {
    console.log('Usuário não encontrado ou erro ao excluir');
  }
})
.catch(error => console.error('Erro no DELETE:', error));
🤓 Explicação do Código

fetch('https://api.exemplo.com/usuarios/123', { → Faz uma requisição para o endpoint do usuário com ID 123 para excluir esse recurso. method: 'DELETE', → Define que o método será DELETE, usado para apagar um recurso. headers: { 'Content-Type': 'application/json' }, → Define o cabeçalho da requisição, informando o formato dos dados (mesmo que geralmente o corpo não seja enviado). .then(response => { → Quando a resposta chegar, executa o próximo passo. if (response.ok) { → Verifica se a resposta indica sucesso (status 200-299). .catch(error => console.error('Erro no DELETE:', error)); → Captura qualquer erro ocorrido e exibe no console.

🤔 Exemplo Prático

 fetch('https://jsonplaceholder.typicode.com/posts/1', {
  method: 'DELETE',
  headers: { 'Content-Type': 'application/json' }
})
.then(response => {
  if (response.ok) {
    console.log('Postagem excluída com sucesso');
  } else {
    console.log('Postagem não encontrada ou erro ao excluir');
  }
})
.catch(error => console.error('Erro no DELETE:', error));

👣 Explicação passo a passo

1

fetch('https://jsonplaceholder.typicode.com/posts/1', {

Faz uma requisição para o endpoint da postagem com ID 1 para excluir esse recurso.

2

method: 'DELETE',

Define que o método será DELETE, usado para apagar um recurso.

3

headers: { 'Content-Type': 'application/json' },

Define o cabeçalho da requisição, informando o formato dos dados (mesmo que o corpo geralmente não seja enviado).

4

.then(response => {

Quando a resposta chegar, executa o próximo passo.

5

if (response.ok) {

Verifica se a resposta indica sucesso (status HTTP entre 200 e 299).

6

console.log('Postagem excluída com sucesso')

Se a exclusão foi bem-sucedida, exibe essa mensagem no console.

7

else { ... }

Caso a exclusão tenha falhado ou o recurso não exista.

8

console.log('Postagem não encontrada ou erro ao excluir')

Exibe essa mensagem para indicar que houve problema na exclusão.

9

.catch(error => console.error('Erro no DELETE:', error))

Se ocorrer algum erro durante a requisição (ex: problema de rede), captura e exibe o erro no console com essa mensagem.

😎 Exemplo async/await

async function deletePost() {
  try {
    const response = await fetch('https://jsonplaceholder.typicode.com/posts/1', {
      method: 'DELETE',
      headers: { 'Content-Type': 'application/json' }
    });

    if (response.ok) {
      console.log('Postagem excluída com sucesso');
    } else {
      console.log('Postagem não encontrada ou erro ao excluir');
    }
  } catch (error) {
    console.error('Erro no DELETE:', error);
  }
}

deletePost();

Esse código define uma função assíncrona deletePost que faz uma requisição DELETE para remover a postagem com ID 1. Ele usa await para esperar a resposta do servidor antes de continuar. Se a exclusão for bem-sucedida (resposta com status 200-299), exibe uma mensagem de sucesso no console; caso contrário, informa que houve erro ou o recurso não foi encontrado. Qualquer erro inesperado durante a requisição é capturado e exibido com catch. Finalmente, a função é chamada para executar a operação.

Last updated