【发布时间】:2018-05-22 00:39:02
【问题描述】:
我有这样的服务:
import { Injectable } from "@angular/core";
import { Http, Response, Headers, RequestOptions } from "@angular/http";
import "rxjs/add/operator/map";
import { Usuario } from "../_models/usuarios";
import { HttpClient } from "@angular/common/http";
import { Observable } from "rxjs/Observable";
import { User } from "../_models/user.model";
private serviceUrl = "apiUrl";
headers = new Headers({
Authorization:
"Bearer " + JSON.parse(localStorage.getItem("currentUser")).token,
"Content-Type": "application/json"
});
options = new RequestOptions({ headers: this.headers });
constructor(private http: Http, private httpClient: HttpClient) {}
getUser(): Observable<User[]> {
return this.httpClient.get<User[]>(this.serviceUrl);
}
问题是当我尝试发送选项来获取方法时:
getUser(): Observable<User[]> {
return this.httpClient.get<User[]>(this.serviceUrl, this.options);
}
返回:
消息:'RequestOptions' 类型的参数不可分配给 '{ headers?: HttpHeaders | 类型的参数{ [标题:字符串]: 字符串 |细绳[]; };观察?:“身体”;参数?:Ht...'。种类 属性“标题”不兼容。 类型 'Headers' 不可分配给类型 'HttpHeaders | { [标题:字符串]:字符串 |细绳[]; }'。 类型 'Headers' 不可分配给类型 '{ [header: string]: string |细绳[]; }'。 “标头”类型中缺少索引签名。
我尝试使用 http 而不是 httpClient 来更改它:
return this.http.get<User[]>(this.serviceUrl, this.options);
但现在我明白了
message: '预期的类型参数为 0,但得到了 1。'
我做错了什么?
【问题讨论】:
标签: angular