当前位置: 首页 > 知识库问答 >
问题:

如何设置标题为HttpHeaders角5[重复]

冷翼
2023-03-14

我试图弄清楚如何处理HttpHeaders上的头,以便通过HttpClient将它们用于http请求。

const headers = new HttpHeaders();
headers.append('foo', 'bar');
headers.set('foo', 'bar');

console.log(headers.get('foo')) // null

它只能这样工作:

const headers = new HttpHeaders().set('foo', 'bar');
console.log(headers.get('foo')) // bar

有没有添加标题的特殊方法?还是虫子?

共有1个答案

许俊贤
2023-03-14

这对我有效:

import { Injectable } from '@angular/core';
import { HttpClient, HttpHeaders } from '@angular/common/http';
import { Observable } from 'rxjs/Observable';

const url = `https://sampleapi.com`;

@Injectable()
export class BasicService {
  private _headers = new HttpHeaders().set('Content-Type', 'application/json');
  constructor(private httpClient: HttpClient) { }

  getWithHeader(): Observable<any> {
    const headers = this._headers.append('foo', 'Bar');
    return this.httpClient.get<any>(url, { headers : headers });
  }
}

这从一个私有变量开始,该变量使用set保存头的初始集。然后使用append在进行Http调用之前添加一个额外的标头。

请注意,append返回一个HttpHeaders对象,这就是为什么我将输出分配给const。仅仅运行append本身,认为现有的_headers将被更改,不会给你预期的结果。我确认HttpHeaders是不可变的。

编辑:来自HttpHeaders文档:不可变的Http头集,具有延迟解析。

 类似资料:
  • 我有以下标题 这是抛出一个例外,而当我从邮递员那里做同样的事情时,它是有效的。奇怪的是,当我从我的应用程序运行这个时,我只在选项中出错,也就是说,甚至我的调用都没有被调用,我在我的响应中看不到任何标题。 有人能建议我帮忙吗?谢谢。

  • 我正在开发springboot应用程序,在该应用程序中,我需要为请求API添加一个标头,它们使用org.springframework.http.HttpHeaders将标头值设置为请求。 我可以看到他们使用下面的代码来设置字符串值标题。 https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframe

  • 我使用HttpClient发出请求,在每个请求上我都设置了头,但当我看到chrome网络选项卡时,这些头并没有设置。 密码 网络选项卡图像

  • 问题内容: 我有这个: 然后,我开始执行如下任务: 我这样保存对未来的引用: 我希望能够取消 和删除 未来 但是,此SO答案指出,取消操作不会将其删除,而添加新任务将以许多无法使用GC的任务结束。 http://codingdict.com/questions/155838 他们提到了有关的内容,但是这种方法没有。我该怎么办? 问题答案: 此方法在ScheduledThreadPoolExecut

  • 我正在尝试为一个get请求设置头。功能如下: 但是头。get('Authorization')由于某种原因为空,我无法找出原因。任何帮助都将不胜感激。

  • 我正在从HttpServer升级到HttpClientService,作为升级的一部分,我必须将标题从标题切换到HttpHeaders。但是由于某些原因,我的自定义标题不再被追加。我需要更新什么才能添加标题? 该方法返回一个httpHeader,但它是空的。