2016-06-04 6 views
2

모든 요청을 기본 HTTP 헤더로 설정하는 방법을 살펴본 결과 bootstrap 함수로 각도 2로 구현하는 방법을 찾았지만이 질문에 설명 된대로 이오닉 2에서는 사용할 수 없습니다. How to set default HTTP header in Angular2?.Ionic 2의 모든 요청에 ​​대해 기본 HTTP 헤더를 어떻게 설정합니까?

은 내가 BaseRequestOptions을 무시하려고 내 응용 프로그램에서 그들을 주입 된 당 요청

에 그것을 설정하는 대신 application/jsonContent-Type 헤더를 설정하고 싶지만, 내가 그들을 무시할 수 없습니다. 내가 부족 거기에 뭔가

app.ts

... 
import {BaseRequestOptions, Headers, HTTP_PROVIDERS, Http, RequestOptions} from '@angular/http'; 

@Injectable() 
export class MyRequestOptions extends BaseRequestOptions{ 
    headers:Headers = new Headers({ 
     'Content-Type': 'application/json; charset=UTF-8' 
    }); 
} 

@App({ 
    template: '<ion-nav [root]="rootPage"></ion-nav>', 
    config: {}, 
    providers: [HTTP_PROVIDERS, MyRequestOptions] 
}) 
export class MyApp { 
    rootPage: any = HomePage; 

    constructor(platform: Platform) { 
    // init 
    } 
} 

myService.ts

import {Injectable} from '@angular/core'; 
import {Http, Headers} from '@angular/http'; 

@Injectable() 
export class MyService { 
    constructor(private http: Http) { 
    } 

    getUser(id) { 
     return this.http.post('/api/User/Get/', JSON.stringify({ id: id })); 
    } 
} 

, 내가 잘못 providers 주사를 사용하고?

import { provide } from '@angular/core'; 
import { HTTP_PROVIDERS, RequestOptions, BaseRequestOptions, Headers } from '@angular/http'; 

... 
@App({ 
    template: '<ion-nav [root]="rootPage"></ion-nav>', 
    config: {}, 
    providers: [HTTP_PROVIDERS, provide(RequestOptions, { useClass: MyRequestOptions })] 
}) 

또는이 같은 문자지도를 통해 공급자를 등록하려고 할 수 있습니다 :

답변

4

당신은 제대로 MyRequestOptions를 등록하지

{ provide: RequestOptions, useClass: MyRequestOptions } 
관련 문제