🩹 Método PATCH
O método PATCH é utilizado para atualizar parcialmente um recurso existente no servidor, modificando apenas os campos especificados na requisição. Assim como o PUT, o PATCH também é idempotente, pois múltiplas requisições com os mesmos dados produzem o mesmo resultado. Ele é ideal quando se deseja alterar apenas uma parte do recurso — como atualizar apenas o email de um usuário — sem a necessidade de reenviar todos os dados. Isso torna o PATCH mais leve e eficiente para atualizações pontuais.
📥 Exemplo com PATCH — Atualizar parcialmente um recurso existente
fetch('https://api.exemplo.com/usuarios/123', {
method: 'PATCH',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({
email: 'novo.email@example.com'
})
})
.then(response => response.json())
.then(data => console.log('Usuário atualizado parcialmente:', data))
.catch(error => console.error('Erro no PATCH:', error));
🔎 Exemplo prático
fetch('https://jsonplaceholder.typicode.com/users/1', {
method: 'PATCH',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({
email: 'novo.email@example.com'
})
})
.then(response => response.json())
.then(data => console.log('Usuário atualizado parcialmente:', data))
.catch(error => console.error('Erro no PATCH:', error));
👣 Explicação passo a passo
fetch('https://jsonplaceholder.typicode.com/users/1', { ... })
Faz uma requisição para o endpoint do usuário com ID 1, passando as opções da requisição.
method: 'PATCH'
Define que o método será PATCH, usado para atualizar parcialmente dados do usuário (não é necessário enviar todos os campos, só os que quer alterar).
headers: { 'Content-Type': 'application/json' }
Define que o corpo da requisição será enviado no formato JSON.
body: JSON.stringify({ email: 'novo.email@example.com' })
Converte o objeto com os dados que serão atualizados parcialmente para JSON e envia como corpo da requisição.
.then(response => response.json())
Quando a resposta chegar, transforma o corpo da resposta em JSON.
.then(data => console.log('Usuário atualizado parcialmente:', data))
Mostra no console a mensagem seguida dos dados retornados da atualização.
.catch(error => console.error('Erro no PATCH:', error));
Se ocorrer algum erro na requisição, captura e exibe no console com a mensagem "Erro no PATCH:".
🐸 Exemplo com async/await
async function updateUserPartial() {
try {
const response = await fetch('https://jsonplaceholder.typicode.com/users/1', {
method: 'PATCH',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({
email: 'novo.email@example.com'
})
});
const data = await response.json();
console.log('Usuário atualizado parcialmente:', data);
} catch (error) {
console.error('Erro no PATCH:', error);
}
}
updateUserPartial();
A função updateUserPartial é assíncrona. Ela faz a requisição com fetch usando await para esperar a resposta, depois transforma a resposta em JSON e exibe no console os dados atualizados parcialmente. Se algo der errado, o erro é capturado pelo try...catch. Tudo organizado e limpo, sem encadeamento de .then().
Last updated