无法将httpClient类型““响应”“分配给类型”“正文”

时间:2019-01-16 10:56:29

标签: angular httpclient

我正在使用httpClient:

get(url: string, options?:HttpOptionsInterface): Observable<HttpResponse<any>> {

    return this.http.get(url, options).map((res: any) => {
        return res;
    }).catch((error: any) => {
        if (error.status === 401) {
            this.error401Handler();
        }
        return Observable.throw(error);
    });
}

这是我的HttpOptionsInterface:

export interface HttpOptionsInterface {
    headers?: HttpHeaders | {
        [header: string]: string | string[];
    };
    observe?: 'response';
    params?: HttpParams | {
        [param: string]: string | string[];
    };
    reportProgress?: boolean;
    responseType?: 'json';
    withCredentials?: boolean;
}

但是我得到了错误:

  

错误TS2345:类型'HttpOptionsInterface'的参数不是   可分配给类型为'{headers?的参数:HttpHeaders | {[标头:   字符串]:字符串|串[]; };观察? params ?: Ht ...'。
  属性“观察”的类型不兼容。       不能将“响应”类型分配给“正文”。

样本stackblitz

1 个答案:

答案 0 :(得分:1)

在您的界面定义中,似乎“观察”应该是“正文”而不是“响应”。