使用HttpRequest对象调用时设置Angular HttpClient请求标头

时间:2018-07-28 09:16:28

标签: angular authorization angular5 httprequest httpclient

当我想将标头附加到标准getpostputdelete请求时,可以轻松地将其传递到options对象内部:

const httpOptions = {
  headers: new HttpHeaders({
    'Content-Type':  'application/json',
    'Authorization': 'my-auth-token'
  })
};

this.httpClient.get<any>(
  'http://myapi.com/endpoint',
  httpOptions
)

但是,当我使用request<R>(req: HttpRequest<any>): Observable<HttpEvent<R>>;的{​​{1}}方法时,由于它不接受任何其他参数,因此无法在任何地方传递任何标头。我需要以这种方式提出请求,因为我需要将一个文件对象附加到正文中。这是我拨打电话的方式:

HttpClient

有没有办法解决这个问题?

1 个答案:

答案 0 :(得分:1)

根据the docs,您可以将标头添加到HttpRequest对象本身中,

new HttpRequest(
  'POST',
  'http://myapi.com/endpoint',
  formData, // contains file object
  {
    headers: myHeaders
  }
)