gpt4 book ai didi

http-headers - 你如何在 Angular2 中设置全局自定义 header ?

转载 作者:太空狗 更新时间:2023-10-29 17:14:13 24 4
gpt4 key购买 nike

我想在我对 Angular2 后端的所有请求中设置 header Content-type: application/json。我在我的主 app.js 文件中使用它。

let headers = new Headers({
'Content-Type', 'application/json'
})
class MyOptions extends BaseRequestOptions {
headers: headers
}

bootstrap(App, [
provide(RequestOptions, {useClass: MyOptions}),
ROUTER_BINDINGS,
HTTP_PROVIDERS,
bind(APP_BASE_HREF).toValue('/')
])

我希望 Http 的所有使用都使用新的内容类型,但这段代码的内容类型仍然设置为 text/plain

saveMaster (master) {
return this.http
.put(`${config.API_URL}/masters/${master._id}`, JSON.stringify(master))
.map(res => res.json())
}

我必须为每个请求手动设置 header 才能使其正常工作。我做错了什么吗?

注意:我想全局设置一个 header 选项,而不是像 this solution 中那样为每个请求类型都设置它.

最佳答案

  1. MyOptions 更改为:
class MyOptions extends RequestOptions {
constructor() {
super({
method: RequestMethod.Get,
headers: new Headers({
'Content-Type': 'application/json',
'X-Some-Header': 'some-content'
});
});
}
}
  1. Put provide(RequestOptions, {useClass: MyOptions}) AFTER HTTP_PROVIDERS(否则默认 BaseRequestOptions 将是用于代替您的 MyOptions)。
bootstrap(App, [
// ...
HTTP_PROVIDERS,
provide(RequestOptions, {useClass: MyOptions}) // <- after HTTP_PROVIDERS!!!
])

参见 this plunk

关于http-headers - 你如何在 Angular2 中设置全局自定义 header ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34502398/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com