在Angular 6中添加http标头

时间:2018-08-23 15:37:49

标签: angular http visual-studio-code http-headers

有人能告诉我这是否是在Angular 6中向HTTP请求添加标头的正确方法吗?

当我通过SwaggerUI拨打电话时,我可以看到标题应该是:

url -X GET --header 'Accept: application/json' --header 'zumo-api-version: 2.0.0' 'https://myurl/tables/stuff'

所以我添加了以下内容:

let headers: HttpHeaders = new HttpHeaders();
headers = headers.append('HttpHeader1', 'Accept:application/json');
headers = headers.append('HttpHeader2', 'zumo-api-version:2.0.0');

然后致电:

getStuff(){
    return this.http.get('https://myurl/tables/stuff', {headers})
  }

没有失败,但没有任何回报,我知道应该有。

谢谢

更新

刚刚注意到我通话中的网址实际上是https而不是http,这会有什么不同吗?

getStuff(){
        return this.https.get('https://myurl/tables/stuff', {headers})
      }

7 个答案:

答案 0 :(得分:13)

设置 headers 的正确方法是

let headers: HttpHeaders = new HttpHeaders();
headers = headers.append('Accept', 'application/json');
headers = headers.append('zumo-api-version', '2.0.0');

答案 1 :(得分:4)

Angular 6格式:

let headers = new HttpHeaders({
    'Accept': 'application/json',
    'zumo-api-version': '2.0.0'
});

答案 2 :(得分:1)

设置标题的正确格式如下所示。

let headers: HttpHeaders = new HttpHeaders();
headers = headers.append('Accept', 'application/json');
headers = headers.append('zumo-api-version', '2.0.0');

url -X GET --header 'Accept: application/json' --header 'zumo-api-version: 2.0.0' 'https://myurl/tables/stuff'

在上述请求中,标题键的名称为 Accept zumo-api-version ,即之前的文本:
标头基本上设置为键/值对

答案 3 :(得分:0)

您没有得到任何回报,因为您没有订阅该事件。将.subcribe添加到您要调用的函数例如

getStuff().subscribe(data=>{ console.log(data); } )

因此,您要订阅的data包含所有响应以及您需要了解的有关该呼叫的所有信息。

您可以从此处https://angular.io/guide/http

了解更多信息

答案 4 :(得分:0)

我已经在我的代码中这样做了

httpOptions={ headers: new HttpHeaders({ 'Content-Type': 'application/json'})};
 this.httpOptions.headers = this.httpOptions.headers.append('Token', this.Token);

然后在我的http.get调用中,我这样做了:

return this.http.get<JSON>(this.API_ADDRESS+'/api/RemoveEmployee/'+id,this.httpOptions

答案 5 :(得分:0)

角度6 +

声明区域:

httpOptionsNoAuth : any;

初始化:

constructor(){
    this.httpOptionsNoAuth = {
        headers: new HttpHeaders().set('No-Auth', 'true')
    };
}

用法:

return this._http.get<any>(`${url}`, { headers: this.httpOptionsNoAuth.headers});

答案 6 :(得分:-3)

尝试以下可能对您有帮助的代码。

let headers = new HttpHeaders().set('Accept': 'application/json').set('zumo-api-version': '2.0.0')