2
respostas

Headers não reconhecido mesmo com o observe no post

Fala professor Flávio. Ótima trilha, parabéns!

Estou com uma dúvida. Mesmo usando o terceiro parametro no post o tslint não reconhece o headers do response. funciona e tudo, mas aquela marcação em vermelho me incomoda, dizendo [ts] Property 'headers' does not exist on type 'Object' Tem alguma outra solução???

import { tap } from 'rxjs/operators';

const API_URL = 'http://localhost:3000';
@Injectable({
  providedIn: 'root'
})
export class AuthService {

  constructor(private http: HttpClient){}

  authenticate(userName: string, password: string): Observable<Object>{

    return this.http
    .post(API_URL + '/user/login', { userName, password }, { observe: 'response' })
    .pipe(tap(response => {
      const authToken = response.headers.get('x-access-token');
      console.log(response);
    }))
  }
}
2 respostas

Coloquei o header como indice do array response e funcionou.

response['headers'].get('x-access-token');

Mas se tiver um outro jeito gostaria de saber...

Fala Cleber, tudo bom? Você poderia tipar o response com o tipo Response.

https://scotch.io/tutorials/angular-2-http-requests-with-observables