我从4角转换我的项目角度7.我已经转移到HTTP HttpClient的并用普通/ HTTP以及。进出口新的角度,我不知道如何将这种UrlSearchParms和RequestOptions转换为新的版本。谁能告诉我如何转换以下的角7?我知道这可能看起来很傻。但是,希望你能承担起来,指向我的方式。
你可以省略类和提供的选项您的来电。你也应该改变你的RxJS经营者利用pipe
:
return this.http.get(environment.API_BASE_URL + '/' + apiUrl, {
headers,
search: params
}).pipe(
.map(this.extractData),
.catchError(this.handleError)
);
在HTTP客户端,您可以在以下方式实现同样的事情。
import { HttpClient,HttpHeaders, HttpParams } from '@angular/common/http';
constructor(private httpClient: HttpClient) { }
getData(){
let headers = new HttpHeaders();
headers = headers.append('header-1', 'value-1');
headers = headers.append('header-2', 'value-2');
let params = new HttpParams();
params = params.append('param-1', 'value-1');
params = params.append('param-2', 'value-2');
this.httpClient.get("/data", {headers , params })
}
这里HttpParams
和HttpHeaders
是不可变的类,所以之后的每个呼叫建立或追加方式,他们返回一个新实例,这就是为什么你应该这样做:PARAMS = params.append(...)
希望这将有助于!