🔄 Método PUT
O método PUT é utilizado para atualizar completamente um recurso existente no servidor, substituindo todos os seus dados pelos fornecidos na requisição. Ele é idempotente, ou seja, enviar a mesma requisição várias vezes terá sempre o mesmo efeito. O PUT exige que o cliente envie o recurso completo, mesmo que apenas parte dele tenha sido modificada. É comumente usado em situações onde se deseja garantir que o recurso no servidor fique exatamente como o enviado pelo cliente, sem depender do estado anterior.
📥 Exemplo com PUT — Atualizar um recurso existente
fetch('https://api.exemplo.com/usuarios/123', {
method: 'PUT',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({
nome: 'João Silva',
email: 'joao.silva@example.com'
})
})
.then(response => response.json())
.then(data => console.log('Usuário atualizado:', data))
.catch(error => console.error('Erro no PUT:', error));
🔎 Exemplo prático
fetch('https://jsonplaceholder.typicode.com/users/1', {
method: 'PUT',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({
name: 'João Silva',
email: 'joao.silva@example.com'
})
})
.then(response => response.json())
.then(data => console.log('Usuário atualizado:', data))
.catch(error => console.error('Erro no PUT:', 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 e passa as opções da requisição.
method: 'PUT'
Define que o método será PUT, para atualizar dados do usuário.
headers: { 'Content-Type': 'application/json' }
Define que o corpo da requisição será enviado em formato JSON.
body: JSON.stringify({ name: 'João Silva', email: 'joao.silva@example.com' })
Converte o objeto com os novos dados do usuário 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:', data))
Mostra no console a mensagem "Usuário atualizado:" seguida dos dados retornados.
.catch(error => console.error('Erro no PUT:', error));
Se ocorrer algum erro na requisição, captura e exibe no console com a mensagem "Erro no PUT: ".
🐸 Exemplo com async/await
async function updateUser() {
try {
const response = await fetch('https://jsonplaceholder.typicode.com/users/1', {
method: 'PUT',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({
name: 'João Silva',
email: 'joao.silva@example.com'
})
});
const data = await response.json();
console.log('Usuário atualizado:', data);
} catch (error) {
console.error('Erro no PUT:', error);
}
}
updateUser();
A função updateUser
é 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. Se algo der errado, o erro é capturado pelo try...catch
. Tudo organizado em bloco, sem encadeamento de .then()
.
Last updated