Envio de Método: POST Formulário - form-urlencoded

2 respostas Resolvido
angular2javascriptprogramação
A

Bom dia eu envio o id pelo body, mas sempre a meu backend me retorna que o id é invalido. Eu testei pelo Postman e funcionou de boa com o mesmo id que estou enviando pela aplicação.

Eu salvo esse id e o token no local Storage quando faço o login,

window.localStorage.setItem('token', result.token);
window.localStorage.setItem('idFuncionario', result.id);

Eu tenho um interceptor que verifica o token e clona o request para enviar o token em todas as requisições,

request = req.clone({
	headers: req.headers.set('Authorization', `Bearer ${token}`)
});

meu método no component.ts está assim,

getMarcacoe() {
	const data: any = {
		idFuncionario: window.localStorage.getItem('idFuncionario')
};

this.marcacaoService.getMarcacoes(data).subscribe(data => {
	console.log(data);
});

e no service assim,

private options: any = {
	headers: new HttpHeaders({
		'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'
	})
};

getMarcacoes(data: any) {
	const resp = this.http.post(`https://cors-anywhere.herokuapp.com/${environment.api}/servico/sessao/ponto/obter-pontos`, 
		JSON.stringify(data), this.options);
	
	return resp;
}

Obs: Usei esse prefixo na URL porque estava dando um erro estranho, pesquisei no google e achei esse solução. Não sei se é a mais correta.

2 Respostas

A
Solucao aceita

Pessoal consegui.
Mudei o método no meu service, agora ficou assim:

getMarcacoes(){
    let idFuncionario = window.localStorage.getItem('idFuncionario');
    let body = `idFuncionario=${idFuncionario}`;
    const resp = this.http.
    post(`https://cors-anywhere.herokuapp.com/${environment.api}/servico/sessao/ponto/obter-pontos`,
    body, this.options);
    return  resp;
  }
A
Pintou outra duvida.

Eu recebo esse JSON na resposta,

[

{

dia: 01/01/2019

},

{

dia: 02/01/2019,

entrada1: 02/01/2019 07:58,

entrada2: 02/01/2019 13:07,

saida1: 02/01/2019 12:07,

saida2: 02/01/2019 18:03

},

{

dia: 03/01/2019,

entrada1: 03/01/2019 07:57,

entrada2: 03/01/2019 13:23,

saida1: 03/01/2019 12:21,

saida2: 03/01/2019 18:00

},

{

dia: 04/01/2019,

entrada1: 04/01/2019 07:58,

entrada2: 04/01/2019 13:08,

saida1: 04/01/2019 12:08,

saida2: 04/01/2019 17:02

}

]

Tenho um objeto

export interface Ponto {

dia: string;

entrada1?: string;

entrada2?: string;

entrada3?: string;

saida1?: string;

saida2?: string;

saida3?: string;

}
Preciso converter isso para uma array de pontos.
pontos: Pontos[]

Criado 24 de julho de 2020
Ultima resposta 24 de jul. de 2020
Respostas 2
Participantes 1