Olá estou tentando consumir minha própria API porém o header dela tem o Content-Type:application/x-www-form-urlencoded e estou tento problemas para fazer o post, alguém pode me explicar como deve ser o post nesse caso?
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Olá estou tentando consumir minha própria API porém o header dela tem o Content-Type:application/x-www-form-urlencoded e estou tento problemas para fazer o post, alguém pode me explicar como deve ser o post nesse caso?
Oi Hugo, tudo bem?
Para realizar um POST em uma API com o header Content-Type: application/x-www-form-urlencoded, você precisa enviar os dados em um formato específico. Esse formato consiste em uma string com os pares chave-valor separados por "&".
Por exemplo, se você quiser enviar as informações "nome" e "email", sua string deve ficar assim: "nome=fulano&email=fulano@exemplo.com".
Para enviar esses dados, você pode utilizar a classe HttpParams do Angular. Veja um exemplo de como ficaria o código:
const body = new HttpParams()
.set('nome', 'fulano')
.set('email', 'fulano@exemplo.com');
this.http.post('sua-url-aqui', body.toString(), {
headers: new HttpHeaders()
.set('Content-Type', 'application/x-www-form-urlencoded')
}).subscribe(res => {
console.log(res);
});Espero ter ajudado.
Um abraço e bons estudos.