Estou tentando migrar a classe HTTP para HTTPClient no Angular mas estou travado e as tentativas que eu tento não funcionam..
Eu vou colocar abaixo como estava sendo feito antes e nos comentários o que eu tentei fazer para alterar (além de já ter importado o HttpClient no app.module)
import { Injectable, OnDestroy } from '@angular/core';
import { Observable } from 'rxjs';
import { map } from 'rxjs/operators';
import { Environment } from '../app.component';
import { Http, Header } from '@angular/http';
//import { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';
//imports dos meus components
@Injectable()
export class CompanyService implements OnDestroy {
private url = Environment.origin;
private urlMainSearch = Environment.MAIN_SEARCH;
private urlSearchAll = Environment.SEARCH_ALL;
private headers = new Headers({
//private headers = new HttpHeaders({
'Accept': 'application/cp+json',
'Content-Type': 'application/json'
});
private headersFile = new Headers({
//private headersFile = new HttpHeaders({
'Accept': 'application/cp+json',
'Content-Type': 'multipart/form-data; boundary=something'
});
constructor(private http: Http) { }
//constructor(private http: HttpClient) { }
buscarEmpresas(pesquisa: string): Observable<any> {
return this.http.get(`${this.url}/companies/${pesquisa}/search`, { headers: this.headers })
.pipe(map((response) => response.json().response));
}
/* return this.http.get<any>(`${ this.url }/companies/${ pesquisa }/search`, { headers: this.headers, observe: 'response' } )
* .pipe(map(res => res ));
* -- também tentei-- return this.httpClient.get<any>(`${ this.url }/companies/${ pesquisa }/search`, { headers: this.headers }*/
getEmpresaByUrlLink(urlLink: string): Observable<Retorno<Empresa>> {
return this.http.get(`${this.url}/companies/link/${urlLink}`, { headers: this.headers })
.pipe(map((response) => new Retorno<Empresa>(response.json())));
}
/* return this.http.get<Retorno<Empresa>>(`${this.url}/companies/link/${urlLink}`, { headers: this.headers })
* .pipe(map((response) => new Retorno<Empresa>(response)));*/
Ao fazer as mudanças o primeiro método acaba não trazendo nenhum resultado e o segundo retorna 500.