Overload request headers and params with HttpClient get

前端 未结 2 1739
星月不相逢
星月不相逢 2021-01-05 15:55

In HttpClientModule, is there a method to pass headers and params to get request.

   import { HttpHeaders, HttpParams, HttpClient } from @angular/common/http         


        
相关标签:
2条回答
  • 2021-01-05 16:26

    As of Angular 5.0.0-beta.6 (2017-09-03), you can now pass in both headers and parameters using the below syntax:

    const httpOptions = {
      headers: { 'Content-Type': 'application/json' },
      params: {'include': 'somethingCool'}
    };
    
    this.http.get('http://www.example.org', httpOptions);
    

    Source: https://github.com/angular/angular/pull/18490

    0 讨论(0)
  • 2021-01-05 16:37

    Here is something that passes both headers and parameters in with a get, and it uses HttpParamsOptions to serialize an object into parameters that the HttpClient can cope with.

    localvar: any;
    
    const headers = new HttpHeaders().set('Content-Type', 'application/json');
    
    const myObject: any = { this: 'thisThing', that: 'thatThing', other: 'otherThing'};
    const httpParams: HttpParamsOptions = { fromObject: myObject } as HttpParamsOptions;
    
    const options = { params: new HttpParams(httpParams), headers: headers };
    
    this.httpClient.get<any>('https://server:port/api/endpoint', options)
      .subscribe((data: any) => {
          this.localvar = data;
    });
    
    0 讨论(0)
提交回复
热议问题