[英]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.