【发布时间】:2019-01-30 03:08:07
【问题描述】:
我开始了解 Angular、TypeScript 和 RxJS。 我有一个返回 JSON 的 http 请求。在这个 JSON 中,我需要构建我定义的对象的数据。假设我的对象是这样的:
export class RegularUser {
constructor(
public id: number,
public firstName: string,
public lastName: string,
public token: string
) {}
}
现在,我正在向某个 API 发送一个请求,它以这种格式返回数据:
{
success: boolean,
uid: number,
first_name: string,
last_name: string,
cid: number,
rights: number[]
token: string
}
我有 HttpClient 服务,所以我想我会这样做:
this.httpClient.get(
'http://api.example.com/api/get_user'
).pipe(
tap((receivedData: Response) => console.log(receivedData)),
map((receivedData: Response) => {
return new RegularUser(
receivedData.uid,
receivedData.first_name,
receivedData.last_name,
receivedData.token);
})
);
但是对于 TypeScript,receivedData 对象没有上面列出的参数。我是否必须为 API 响应创建一个接口,然后将其映射到我的 RegularUser 对象?
【问题讨论】:
标签: angular typescript interface rxjs