【发布时间】:2017-12-27 05:00:51
【问题描述】:
我正在尝试将 Django 响应转换为 Angulars User 数组。有几个原因,例如不同的变量名称(first_name 与 firstName)以及 Angular User 构造函数内部有一些逻辑。
简单地说
Django User => Angular User
服务器响应示例:
[
{"id":2,"email":"test1@test.com","first_name":"Name 1","client":{"id":1}}},
{"id":3,"email":"test2@test.com","first_name":"Name 2","client":{"id":2}}}
]
我想要的是转换成这种格式:
export class User {
// contructor that transforms
id: number;
email: string;
firstName: string;
isClient: boolean = false;
}
我目前已经“解决”了这个问题,但我想知道是否有更好的解决方案。
内部something.service.ts
public getClients(): Observable<User[]> {
return this.http.get(this.getClientsUrl)
.map(r => r.json() || []).map(x => x.map(y => new User(y)));
}
当我说更好的解决方案时,虽然这可行,但它看起来不太可读。如果你这样做一次不是问题,但是当你有很多请求时,你会开始考虑一个更好的解决方案(一种处理这个问题的方法?)。有什么更好的方法?有点像拥有
return this.http.get(this.getClientsUrl)
.map(transformResponse);
【问题讨论】:
-
有什么理由要通过类而不是接口来定义它?
标签: angular typescript