Из передового опыта:
Использование URL-адреса на уровне обслуживания (поскольку оно постоянно используется только внутри службы)
Определение модели StudentResponce
, чтобы вы могли json ответ.
Определите модель Student
, которая будет иметь свойство StudentReponse
, тогда ваш компонент станет
ngOnInit() {
this.loading = true;
this.httpService.getStudents().subscribe(
result => {
console.log('received results');
this.loading = false;
this.scouts = result.data;
/*or this.scouts = [...result.data] */
//warning = result.warning
//meta = result.meta
//errors = [...result.errors]
},
error => {
console.log('failed');
this.message = error.message;
this.loading = false;
});
}
, а служба
const url = "http://replace_with_service_url";
@Injectable()
export class MyHttpService {
constructor(private client: HttpClient) {
}
getStudents(): Observable<StudentResponse>{
return this.client.get<StudentResponse>(url);
}
}
export class StudentResponse{
data: Student[];
warning: any;
errors: any[];
meta: any;
}
export class Student{
id: number;
name= "";
status: string /*or enum "enrolled"*/;
}
Вы можете заменить свой сервисный URL в этот код для проверки