15 - Alteração (PATCH)

Olá pessoal! Nessa aula, iremos implementar uma rota para alterar dados.

Vamos utilizar a requisição PATCH. Para que funcione, será necessário passar um objeto contendo as características que deseja alterar via body, e o código da pessoa através da url (parâmetro).

Estrutura da rota

Veja abaixo como estruturar essa rota:


// Rota para atualizar pacialmente as informações de uma pessoa
router.patch('/:codigo', (req, res) => {
  // Extrair o código enviado via parâmetro
  const codigo = parseInt(req.params.codigo);

  // Localizar a pessoa através do código
  const pessoa = pessoas.find(p => p.codigo === codigo);

  // Caso não encontrar a pessoa
  if (!pessoa) {
    return res.status(404).json({ mensagem: 'Pessoa não encontrada.' });
  }

  // Extrair as características do objeto enviado
  const { nome, idade, cidade } = req.body;

  // As características que não forem informadas, manteremos as atuais
  if (nome !== undefined)   pessoa.nome = nome;
  if (idade !== undefined)  pessoa.idade = idade;
  if (cidade !== undefined) pessoa.cidade = cidade;

  // Retorna um objeto do tipo pessoa
  res.status(200).json(pessoa);
});

Clique aqui para se tornar membro do canal

Abaixo segue nossa aula no YouTube: