我正在尝试使用新的 API 调用的响应来填充模型HttpClientModule
。但是,模型的属性不是“json 类型”而是复杂类型。
您是否知道我getById
的getAll
方法和ReferenceService
返回的方法如何Observable
匹配真实Reference
对象而不仅仅是 json 对象?
这是我想做的一个例子。
谢谢 !
class Reference {
id: number;
title : string;
type : Type;
date : Date;
tags : Array<Tag>;
constructor(id : number = null, title : string = '', type : Type = new Type(), date : Date = new Date(), tags : Array<Tag> = []) {}
display() {
console.log(this.title);
this.type.display();
}
}
class Type {
id: number;
name : string;
constructor(id : number = null, name : string = '') {}
display() { console.log(this.name); }
}
class Tag {
id: number;
name : string;
constructor(id : number = null, name : string = '') {}
}
@Injectable()
class ReferenceService {
constructor(private http : HttpClient) {}
getById(id: number) {
return this.http.get<Reference>('/api/reference/'+id);
}
getAll() {
return this.http.get<Array<Reference>>('/api/references');
}
}
@Component({
providers: [ReferenceService]
})
class ReferenceComponent implements OnInit {
model: Reference;
constructor(private referenceService : ReferenceService) {}
ngOnInit() {
this.referenceService
.getById(42) // hard coded for testing
.subscribe( (data : Reference) => {
this.model = data;
console.log(this.model.display());
});
}
}
`