Я новичок в Angular. Пожалуйста, извините, если я что-то упустил.
Я пытаюсь сделать вызов API. Для этого я создал базовый класс обслуживания с именем base.service.ts (необходим код ниже) -
public get(path: string, params: HttpParams = new HttpParams()): Observable<any> {
return this.httpClient.get(BASE_URL + path, { params }).pipe(catchError(this.formatErrors));
}
Я также создал новый класс службы с именем visitor.service.ts, откуда я вызываю метод get базовой службы, как показано ниже -
export class VisitorService {
constructor(private baseService: BaseService) { }
getVisitors(): Observable<Visitor[]> {
return this.baseService.get(String.Format(Globals.endpoints.visitors));
}
}
Из моего класса компонентов с именем dashboard.component.ts я загружаю этот список посетителей -
export class DashboardComponent implements OnInit {
constructor(private visitorService: VisitorService) { }
ngOnInit() {
this.loadTodaysVisitors();
}
private loadTodaysVisitors() {
this.visitorService.getVisitors().subscribe(
data => {
console.log(data)
}
);
}
}
Мой первый вопрос: когда я запускаю этот код, я не вижу ничего зарегистрированного на консоли. Почему?
Также мой ответ будет в следующем формате -
[
{
"visitor": {
"attendeeFirstName": "ABC",
"attendeeSurname": "XYZ",
},
"visitorcheckin": [
{
"field": value,
"field1": value1,
},{
"field": value,
"field1": value1,
}
],
"visitorcheckout": [
{
"field": value,
"field1": value1,
},{
"field": value,
"field1": value1,
}
]
},
{
"visitor": {
"attendeeFirstName": "DEF",
"attendeeSurname": "PQR",
},
"visitorcheckin": [
{
"field": value,
"field1": value1,
},{
"field": value,
"field1": value1,
}
],
"visitorcheckout": [
{
"field": value,
"field1": value1,
},{
"field": value,
"field1": value1,
}
]
},
]
Я создал модель посетителя для этого имени visitor.model.ts -
import { Deserializable } from '../interfaces/deserializable.interface';
export class Visitor implements Deserializable {
attendeeFirstName: string;
attendeeSurname: string;
deserialize(input: any): this {
Object.assign(this, input);
return this;
}
}
Файл desrializable.interface.ts -
export interface Deserializable {
deserialize(input: any): this;
}
Является ли это правильным способом создания модели для структуры ответа вышеупомянутого типа? Кроме того, как я могу отобразить ответ на мои объекты модели и как их использовать в dashboard.component.ts?
Спасибо!