각도 4, 5로 속도를 높이고 JSON 응답을 강력한 형식화 된 객체/모델에 매핑하는 것이 가장 좋은 방법인지 궁금합니다.모델에 대한 매핑 매핑 - 모범 사례
서비스 :
getUsers(): Observable<User[]> {
return this.http.get<User[]>('http://localhost:8000/users/')
.pipe(
tap(users => this.log(`fetched users`)),
map(response => {
return response.map((res) =>
{
return new Hero(
response['username'],
response.email);
});
}),
catchError(this.handleError('getUsers', []))
);
}
인터페이스/모델 :
export interface IUser {
id: number;
name: string;
email: string;
}
export class Hero implements User {
public id: number;
constructor(public name: string,
public email: string) {
}
}
getUsers
반환 사용자 개체가있는 관찰 가능한 배열입니다. username
은 해당 객체의 멤버가 아니므로 점 표기법에 오류가 있으므로이 괄호 표기법을 사용합니다. 필자는 결국 Map 함수를 테스트 가능성/명확성을위한 별도의 함수로 가져갈 것입니다.
이 매핑/매핑/변환을 올바르게 처리하는 방법은 무엇입니까?
'return response' –
Aravind
으로 직접 인터페이스에 타입 변환 할 수 있습니다.'map (response => return 응답)'을 의미합니까? 그러면'username'은'name'에 어떻게 매핑됩니까? 그 간단한 예제에서 기본적으로 내 질문. –