Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Sobre o método POST

Olá, bom dia. Tudo bem?

Minha dúvida é:

Suponhamos que meu "body" é um objeto json. Se eu fosse fazer uma requisição do tipo "POST", onde e como eu colocaria o "header" e "body"?

Desde já, obrigado!

1 resposta
solução!

Olá Maycon, tudo bem com você?

Irei responder com base no XHR, ok? Nos próximos cursos de javascript você irá ver outras formas de fazer essa requisição utilizando a fetch API e ai é uma outra abordagem :)

Então abriríamos uma requisição do tipo POST, da seguinte maneira:

 let xhr = new XMLHttpRequest();
xhr.open("POST", "http://localhost:4000/clientes/cliente");

Vamos supor que a URL da minha api é essa localhost :)

Para definir o header da requisição iremos utilizar da seguinte maneira:

xhr.setRequestHeader("Content-Type", "application/json");

Agora temos a função que irá observar o que aconteceu com a nossa requisição, no caso:

        xhr.onreadystatechange = function() {
            if(this.readyState === XMLHttpRequest.DONE && this.status === 200){
                console.log(xhr.responseText);
                console.log("Executada com sucesso");
            }
        }

Eu observo se a requisição terminou e se o status dela foi 200, e eu tenho acesso a resposta do servidor através do xhr.responseText

Para finalizar e enviar os dados em formato JSON, podemos fazer da seguinte maneira:

let objeto = {
     nome: "Daniel",
     cpf: "123456"
}
xhr.send(JSON.stringify(objeto))

Criando um objeto javascript e depois transformando ele em JSON com a função stringify, poderíamos fazer isso direto dentro do send também, mas iria ficar um pouco poluído :)

Compreendeu? Qualquer coisa estou a disposição :)

Abraços e Bons Estudos!