Как проанализировать объект Java, содержащий список пользовательских java POJO из вызова REST Api в файле component.ts в AngularJS

#java #angular #rest

#Ява #угловой #остальное

Вопрос:

Я новичок в angular. Я застрял, чтобы проанализировать ответ службы Java REST на мой угловой пользовательский интерфейс. Я вижу, что ожидаемый список получен из вызова REST API на вкладке «Сеть» инспектора, но не могу проанализировать его в соответствующем файле component.ts в angular. Я получаю ответ, который не определен в журнале консоли пользовательского интерфейса. Ниже приведены подробные сведения об объекте ответа REST API

 public FinalResponse(int statusCode, String statusMessage, Object objects) {  super();  this.statusCode = statusCode;  this.statusMessage = statusMessage;  this.objects = objects; // This Object holds the Array List of Persons Object   }  

В моем файле componet.ts я использовал приведенный ниже код

 export class Person {  constructor( public personId: number, public personName: string,){  } }  export class FinalResponse {    constructor( public statusCode: number, public statusMessage: string,   public objects:any){   } }  export class PersonListComponent implements OnInit {    persons: Person[]  message: string  finalResponse: FinalResponse    constructor(private personDataService: PersonDataService, private router: Router,  private route: ActivatedRoute) {   }   ngOnInit() {  this.refreshPersonList();  }   refreshPersonList(){  this.personsDataService.retrieveAllPersons().subscribe(  response =gt;{  console.log("Backend service response" response)  this.finalResponse =response;  this.persons = this.finalResponse.objects  console.log("Backend service response1 " this.persons)  console.log("Backend service response1 " this.finalResponse.statusCode)  console.log("Backend service response1 " this.finalResponse.statusMessage)  console.log("Backend service response1 " this.finalResponse.objects)  }  );   }  }  

Здесь я прекрасно вижу код состояния и сообщение о состоянии, но не могу увидеть список объектов Person. В журнале консоли пользовательского интерфейса я вижу, что он не определен. Кто-нибудь может, пожалуйста, помочь мне с этим? Заранее спасибо, любые советы будут высоко оценены.

Комментарии:

1. Пожалуйста, добавьте журнал ответов консоли

2. person-data.service.ts:1 Вызов через Http-клиент personservice служба данных персона-список.компонент.ts:60 Ответ серверной службы 1 неопределенный человек-список.компонент.ts:61 Ответ серверной службы[объект объекта] персона-список.компонент.ts:62 Ответ серверной службы 1 200 человек-список.компонент.ts:63 Ответ серверной службы 1 Успешный человек-список.компонент.ts:64 Ответ серверной службы 1 [объект объекта],[объект объекта],[объект объекта],[объект объекта],[объект объекта],[объект объекта],[объект объекта],[объект объекта],[объектный объект], [объектный объект], [объектный объект], [объектный объект] человек-список.компонент.ts:65 Ответ серверной службы 1 не определен

3. не могли бы вы предоставить функцию retrieveAllPersons в компоненте person-data.service.ts

Ответ №1:

сначала вы неверно оцениваете ответ. data ключевое слово необходимо для доступа к данным ответа. попробуйте это: this.persons = this.finalResponse.data.objects

Вот он:

 this.personsDataService.retrieveAllPersons().subscribe(  response =gt;{  console.log("Backend service response" response)  this.finalResponse =response;  this.persons = this.finalResponse.data.objects  console.log("Backend service response1 " this.persons)  console.log("Backend service response1 " this.finalResponse.statusCode)  console.log("Backend service response1 " this.finalResponse.statusMessage)  console.log("Backend service response1 " this.finalResponse.objects)  }  );   

Комментарии:

1. Я попробовал это, но это показывает, что свойство ошибки компиляции «данные» не существует для типа «FinalResponse». ts(2339)

2. пожалуйста, внесите ответ в журнал консоли и вставьте сюда

3. Количество объектов, возвращаемых из REST API, правильное в соответствии с данными, которые у меня есть в БД

4. person-data.service.ts:Вызов через Http-клиент personservice службы данных person-list.component.ts:60 Ответ серверной службы 1 неопределенное лицо-list.component.ts:61 Ответ серверной службы[объект объекта] person-list.component.ts:62 Ответ серверной службы 1 200 человек-list.component.ts:63 Ответ серверной службы 1 Успешный человек-list.component.ts:64 Ответ серверной службы 1 [объект объекта],[объект объекта],[объект объекта],[объект объекта],[объект объекта],[объект объекта],[объект объекта],[объект объекта],[объект объекта], [объект объекта], [объект объекта], [объект объекта], [объект объекта], [объект объекта], [объект объекта], [объект объекта] человек-список.компонент.ts:65 Ответ серверной службы 1 не определен

5. предоставьте код PersonDataService