无法将类型为RequestOptions的参数分配给类型为{headers}的参数

时间:2019-02-11 14:18:00

标签: angular

我将我的角度应用程序升级到角度7,并对我现有的标头实现有疑问。

现有方法

private getPutHeaders() {
    let headers = new Headers();
    headers.append('Content-Type', 'application/json');
    return new RequestOptions({
        headers: headers
        , withCredentials: true
    });
}

getAllDocuments(strategyIds: Array<number>, documentTypeIds: Array<number>) {
        var payload = new AllDocumentsPayload()
        payload.DocumentTypeIds = documentTypeIds.join();
        payload.StrategyIds = strategyIds.join();
        return this.http.put(this.config.api.getAllDocuments, JSON.stringify(payload), this.getPutHeaders());
    }

我假设我们需要在getPutHeaders函数中使用HttpHeaders而不是Headers,但是随后我无法在request选项下设置标头,因为它无法识别标头。

1 个答案:

答案 0 :(得分:0)

这是因为from sqlalchemy import func ... existing_query = session.query(Something)\ .join(OtherThing)\ .filter(OtherThing.foo = 'FOO')\ .subquery() query = session.query(func.count(existing_query.c.bar).label('bar_count')) print(query) actual_count = query.as_scalar() # Executes query 没有类型为existing_query.c.bar的参数。请注意,HttpClient.put参数的类型为:

RequestOptions

不能分配给RequestOptions。

我正在通过创建自己的接口options来处理该问题,该接口的类型与options?: { headers?: HttpHeaders | { [header: string]: string | string[]; }; observe?: 'body'; params?: HttpParams | { [param: string]: string | string[]; }; reportProgress?: boolean; responseType?: 'json'; withCredentials?: boolean; } 参数类似。它是类型安全的,并且效果很好。