Faça requisições HTTP de saída a partir de uma function usando a API fetch, cobrindo os métodos GET, DELETE, POST, PUT e PATCH com dados JSON. Use estes trechos quando sua função precisar chamar uma API REST, seja para ler dados, enviar um formulário ou atualizar um recurso, executando próximo ao usuário na rede global da Azion. Exemplos abaixo:
Get
var myHeaders = new Headers();myHeaders.append("Accept", "application/json; version=3");myHeaders.append("Authorization", "Token [TOKEN VALUE]");
var requestOptions = { method: 'GET', headers: myHeaders, redirect: 'follow'};
fetch("https://api.azionapi.net/digital_certificates/", requestOptions) .then(response => response.text()) .then(result => console.log(result)) .catch(error => console.log('error', error));Delete
fetch('https://example.com/delete-item/' + id, { method: 'DELETE',}).then(res => res.text()) // or res.json().then(res => console.log(res))Post
function createNewProfile(profile) { const formData = new FormData(); formData.append('first_name', profile.firstName); formData.append('last_name', profile.lastName); formData.append('email', profile.email); return fetch('http://example.com/api/v1/registration', { method: 'POST', body: formData }).then(response => response.json())}createNewProfile(profile) .then((json) => { // handle success }) .catch(error => error);Put
const putMethod = { method: 'PUT', // Method itself headers: { 'Content-type': 'application/json; charset=UTF-8' // Indicates the content }, body: JSON.stringify(someData) // We send data in JSON format}// make the HTTP put request using fetch apifetch(url, putMethod).then(response => response.json()).then(data => console.log(data)) // Manipulate the data retrieved back, if we want to do something with it.catch(err => console.log(err)) // Do something with the errorPatch
const API_URL = 'https://api.azion.net/'const API_PATH = 'api/v3/'fetch(API_URL + API_PATH + 'tasks', { headers: { 'Accept': 'application/json', 'Content-Type': 'application/json' }, method: 'patch', body: JSON.stringify( { task: task } )})Como funciona
Cada exemplo chama fetch() com uma URL e um objeto de opções cujo campo method seleciona o verbo HTTP. Metadados da requisição, como tokens de autorização e o Content-Type, são passados em headers, seja como uma instância de Headers ou um objeto simples, enquanto os corpos são enviados como FormData ou como uma string JSON produzida por JSON.stringify. A promise retornada resolve em um Response, que os trechos leem com .then(response => response.json()) ou .text() para consumir o conteúdo, e .catch() trata qualquer erro de rede ou de parsing. Executar essas requisições em uma arquitetura distribuída mantém a lógica de chamada próxima ao usuário.