Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

Http Header metodo GET, Header sempre fica vazio

Bom dia, estou tentado executar um método GET com HttpClient e Angular4, mais sempre dá não autorizado, e quanto vejo o header está vazio, o que estou fazendo de errado!!!

curl --request GET \
  --url xxxxx/categories \
  --header 'accept: application/json' \
  --header 'content-type: application/json' \
  --header 'x-accountmanager-key: foo' \
  --header 'x-api-key: YOUR API KEY HERE' \
  --header 'x-user-email: MUDAR@SEU_EMAIL.COM'

Angular

const headers = new HttpHeaders()
        .set('x-user-email', 'xxxx')
        .set('x-api-key', 'xxxx')
        .set('x-accountmanager-key', 'xxxx')
        .set('content-type', 'application/json')
        .set('accept', 'application/json');


    return this.http.get<category[]>('http://xxxxx/categories', { headers: headers })
        .pipe(
        tap(heroes => this.log(`fetched Categorias`)),
        catchError(this.handleError('getCategorias', []))
        );
4 respostas

Bom dia! Dá uma verifica nessa resposta?

https://cursos.alura.com.br/forum/topico-adicionar-header-em-requisicoes-41039

Em suma, você deve permitir manipulação do header lá no seu backend, caso contrário, você não poderá adicionar informações extras neles.

Se não for isso, talvez você não esteja adicionando o que a API realmente necessita. Ai só consultando a documentação dela, caso não tenha sido você que a criou.

Bom dia, o backend me passou o exemplo abaixo, eu fiz uns testes em um aplicativo e retornou corretamente.

Mais pelo angular, não vai, os Header fica vazio, já fiz um HttpInterceptor, mais mesmo assim não da certo!

curl --request GET \
  --url xxxxx/categories \
  --header 'accept: application/json' \
  --header 'content-type: application/json' \
  --header 'x-accountmanager-key: foo' \
  --header 'x-api-key: YOUR API KEY HERE' \
  --header 'x-user-email: MUDAR@SEU_EMAIL.COM'
solução!

Espere um pouco, você usou headers.set? Se não me engano, é headers.append. Veja se é isso!

Troquei tudo para Append, mais quanto olho no navegador, meu Header está assim:

:authority:api.skyhub.com.br
:method:GET
:path:/categories?
:scheme:https
accept:application/json, text/plain, */*
accept-encoding:gzip, deflate, br
accept-language:pt-BR,pt;q=0.9,en-US;q=0.8,en;q=0.7
origin:http://127.0.0.1:4200
referer:http://127.0.0.1:4200/b2w
user-agent:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.94 Safari/537.36

não carregou as informações que eu informei