Na programação web, é muito comum que uma aplicação precise se comunicar com um servidor para obter ou enviar dados. Para isso, é utilizada a requisição HTTP (Hypertext Transfer Protocol). Em JavaScript, é possível realizar essas requisições utilizando a API XMLHttpRequest ou a fetch API.
A seguir, um exemplo de como utilizar a fetch API para fazer uma requisição GET a uma API pública e imprimir o resultado no console:
javascriptfetch('https://jsonplaceholder.typicode.com/posts', {
method: 'POST',
body: JSON.stringify({
title: 'foo',
body: 'bar',
userId: 1,
}),
headers: {
'Content-type': 'application/json; charset=UTF-8',
},
})
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error(error));
Neste exemplo, a função fetch recebe como argumento a URL da API que queremos acessar. Em seguida, utilizamos a função then para manipular a resposta da requisição, transformando-a em um objeto JavaScript utilizando o método json(). Por fim, imprimimos o resultado no console utilizando console.log(). Caso ocorra algum erro durante a requisição, utilizamos a função catch para capturá-lo e imprimi-lo no console.
Também é possível utilizar a fetch API para fazer requisições POST, PUT, DELETE, entre outras. Basta passar um segundo argumento para a função fetch com as configurações da requisição, como no exemplo abaixo:
javascriptfetch('https://jsonplaceholder.typicode.com/posts', {
method: 'POST',
body: JSON.stringify({
title: 'foo',
body: 'bar',
userId: 1,
}),
headers: {
'Content-type': 'application/json; charset=UTF-8',
},
})
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error(error));
Neste exemplo, estamos fazendo uma requisição POST para criar um novo post na API. O segundo argumento da função fetch contém as configurações da requisição, como o método utilizado (POST), o corpo da requisição (um objeto JavaScript transformado em uma string JSON utilizando o método JSON.stringify()), e os cabeçalhos da requisição (indicando que o conteúdo do corpo da requisição é do tipo application/json).