[英]How do you set global custom headers in Angular2?
我想在我对Angular2中后端的所有请求中设置标题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())
}
我必须手动设置每个请求的标头,以使其正常工作。 难道我做错了什么?
注意:我想全局设置标题选项,而不必像每个请求类型一样设置它,就像在此解决方案中找到的那样。
MyOptions
更改为: class MyOptions extends RequestOptions {
constructor() {
super({
method: RequestMethod.Get,
headers: new Headers({
'Content-Type': 'application/json',
'X-Some-Header': 'some-content'
});
});
}
}
HTTP_PROVIDERS
之后放置provide(RequestOptions, {useClass: MyOptions})
(否则将使用默认的BaseRequestOptions
而不是MyOptions
)。 bootstrap(App, [
// ...
HTTP_PROVIDERS,
provide(RequestOptions, {useClass: MyOptions}) // <- after HTTP_PROVIDERS!!!
])
看到这个插件
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.