我正在从角度客户端向服务器发出获取请求。我在其中进行调用的服务需要返回一个带有对象数组的observable。问题在于打字稿似乎不允许我将JSON转换为我的界面。
这是JSON对象服务器发送作为响应:
export interface Message {
title: string;
body: string;
}
这是我要将主体投射到的界面。那里的身体应该包含这些对象的数组:
export interface ICommonGameCard {
id: string;
pov: POVType;
title: string;
image_pair?: ICommonImagePair;
best_time_solo: number[];
best_time_online: number[];
}
export enum POVType{Simple, Free};
此所述发出请求的服务:
public getGameCards(povType: POVType): Observable<ICommonGameCard[]> {
return this.http.get<ICommonGameCard[]>(this.BASE_URL + this.GET_ALL_CARDS_URL)
.pipe(
map((res: Response) => return <ICommonGameCard>res.json().body),
catchError(this.handleError<Message>("getUsernameValidation")),
);
}
显然,这不起作用。我正在尝试将响应的JSON强制转换为消息接口,然后访问消息的接口主体(其中存在ICommonGameCard数组)。
我收到此错误:
[ts]
Argument of type 'OperatorFunction<Response, ICommonGameCard>' is not assignable to parameter of type 'OperatorFunction<ICommonGameCard[], ICommonGameCard>'.
Type 'Response' is missing the following properties from type 'ICommonGameCard[]': length, pop, push, concat, and 26 more. [2345]
我的语法到底有什么问题?
答案 0 :(得分:0)
cin
std::cin.ignore(<A big number like 256>,'\n')