2017-12-04 5 views
0
정의되지 않은

의 속성 메시지를 읽을 수 없습니다, 나는 오류가 정의되지 않은

// Here is my interface 
export interface IMessage { 
    Messages: Messages[]; 
} 

interface Messages { 
    id: number; 
    messageContent: string; 
    fromUserId: string; 
    toUserId: string; 
    productId?: number; 
    parentMessageId?: number; 
    subject: string; 
    styleNumber?: string; 
} 

의 속성 메시지를 읽을 수 없습니다 얻을 //이 API를 호출하는 방법

응답이 API에서 어떻게 보이는지

getAllMessages(): Observable<IMessage[]> { 
    this.messageRepositoryService.getAllMessages() 
    .subscribe(data => { 
     console.log('data is =>', data[1].Messages); // here is error 
     this.messages = data; 
    }, 
    err => { 
     console.log('Error occured while fetching country List'); 
    }); 
    return; 
    } 

    // in the service 
getAllMessages(): Observable<IMessage[]> { 
     return this.http.get<IMessage[]>(`${this.ROOT_URL}/list`); 
    } 
는 다음 URL은, 참조하십시오 http://52.70.78.117:7111/api/message/list

Here is how my object looks

{"data":{"Messages":[{"Id":1,"MessageContent":"test","FromUserId":"74df8f98-2925-4242-8d32-8b09f3691396","UserName":"[email protected]","ToUserId":"96b1c943-ade0-4026-b8ed-0f4a6231e586","ProductId":null,"ParentMessageId":null,"Subject":"Test Message","StyleNumber":null},{"Id":2,"MessageContent":"test data","FromUserId":"74df8f98-2925-4242-8d32-8b09f3691396","UserName":"[email protected]","ToUserId":"96b1c943-ade0-4026-b8ed-0f4a6231e586","ProductId":null,"ParentMessageId":null,"Subject":"Test Message by Dev Team","StyleNumber":null},{"Id":3,"MessageContent":"test","FromUserId":"74df8f98-2925-4242-8d32-8b09f3691396","UserName":"[email protected]","ToUserId":"96b1c943-ade0-4026-b8ed-0f4a6231e586","ProductId":null,"ParentMessageId":1,"Subject":"Test Message","StyleNumber":null},{"Id":4,"MessageContent":"test","FromUserId":"74df8f98-2925-4242-8d32-8b09f3691396","UserName":"[email protected]","ToUserId":"96b1c943-ade0-4026-b8ed-0f4a6231e586","ProductId":null,"ParentMessageId":1,"Subject":"Test Message","StyleNumber":null},{"Id":5,"MessageContent":"testtesttesttest","FromUserId":"74df8f98-2925-4242-8d32-8b09f3691396","UserName":"[email protected]","ToUserId":"96b1c943-ade0-4026-b8ed-0f4a6231e586","ProductId":null,"ParentMessageId":1,"Subject":"Test Message","StyleNumber":null},{"Id":6,"MessageContent":"testtesttesttest","FromUserId":"74df8f98-2925-4242-8d32-8b09f3691396","UserName":"[email protected]","ToUserId":"96b1c943-ade0-4026-b8ed-0f4a6231e586","ProductId":null,"ParentMessageId":1,"Subject":"Test Message","StyleNumber":null},{"Id":7,"MessageContent":"testtesttesttest","FromUserId":"74df8f98-2925-4242-8d32-8b09f3691396","UserName":"[email protected]","ToUserId":"96b1c943-ade0-4026-b8ed-0f4a6231e586","ProductId":null,"ParentMessageId":1,"Subject":"Test Message","StyleNumber":null},{"Id":8,"MessageContent":"Test","FromUserId":"74df8f98-2925-4242-8d32-8b09f3691396","UserName":"[email protected]","ToUserId":"96b1c943-ade0-4026-b8ed-0f4a6231e586","ProductId":null,"ParentMessageId":1,"Subject":"Test Message","StyleNumber":null},{"Id":9,"MessageContent":"Test Message","FromUserId":"74df8f98-2925-4242-8d32-8b09f3691396","UserName":"[email protected]","ToUserId":"96b1c943-ade0-4026-b8ed-0f4a6231e586","ProductId":null,"ParentMessageId":1,"Subject":"Test Message","StyleNumber":null},{"Id":10,"MessageContent":"Test Message","FromUserId":"74df8f98-2925-4242-8d32-8b09f3691396","UserName":"[email protected]","ToUserId":"96b1c943-ade0-4026-b8ed-0f4a6231e586","ProductId":null,"ParentMessageId":1,"Subject":"Test Message","StyleNumber":null},{"Id":11,"MessageContent":"96b1c943-ade0-4026-b8ed-0f4a6231e58696b1c943-ade0-4026-b8ed-0f4a","FromUserId":"74df8f98-2925-4242-8d32-8b09f3691396","UserName":"[email protected]","ToUserId":"96b1c943-ade0-4026-b8ed-0f4a6231e586","ProductId":null,"ParentMessageId":1,"Subject":"Test Message","StyleNumber":null},{"Id":12,"MessageContent":"96b1c943-ade0-4026-b8ed-0f4a6231e586","FromUserId":"74df8f98-2925-4242-8d32-8b09f3691396","UserName":"[email protected]","ToUserId":"96b1c943-ade0-4026-b8ed-0f4a6231e586","ProductId":null,"ParentMessageId":1,"Subject":"96b1c943-ade0-4026-b8ed-0f4a6231e586","StyleNumber":null},{"Id":13,"MessageContent":"96b1c943-ade0-4026-b8ed-0f4a6231e586","FromUserId":"74df8f98-2925-4242-8d32-8b09f3691396","UserName":"[email protected]","ToUserId":"96b1c943-ade0-4026-b8ed-0f4a6231e586","ProductId":null,"ParentMessageId":1,"Subject":"96b1c943-ade0-4026-b8ed-0f4a6231e586","StyleNumber":null},{"Id":14,"MessageContent":"96b1c943-ade0-4026-b8ed-0f4a6231e586","FromUserId":"74df8f98-2925-4242-8d32-8b09f3691396","UserName":"[email protected]","ToUserId":"96b1c943-ade0-4026-b8ed-0f4a6231e586","ProductId":null,"ParentMessageId":1,"Subject":"96b1c943-ade0-4026-b8ed-0f4a6231e586","StyleNumber":null},{"Id":15,"MessageContent":"96b1c943-ade0-4026-b8ed-0f4a6231e586","FromUserId":"74df8f98-2925-4242-8d32-8b09f3691396","UserName":"[email protected]","ToUserId":"96b1c943-ade0-4026-b8ed-0f4a6231e586","ProductId":null,"ParentMessageId":1,"Subject":"96b1c943-ade0-4026-b8ed-0f4a6231e586","StyleNumber":null},{"Id":16,"MessageContent":"96b1c943-ade0-4026-b8ed-0f4a6231e586","FromUserId":"74df8f98-2925-4242-8d32-8b09f3691396","UserName":"[email protected]","ToUserId":"96b1c943-ade0-4026-b8ed-0f4a6231e586","ProductId":null,"ParentMessageId":1,"Subject":"96b1c943-ade0-4026-b8ed-0f4a6231e586","StyleNumber":null},{"Id":17,"MessageContent":"test","FromUserId":"74df8f98-2925-4242-8d32-8b09f3691396","UserName":"[email protected]","ToUserId":"96b1c943-ade0-4026-b8ed-0f4a6231e586","ProductId":null,"ParentMessageId":1,"Subject":"test","StyleNumber":null},{"Id":18,"MessageContent":"test message","FromUserId":"74df8f98-2925-4242-8d32-8b09f3691396","UserName":"[email protected]","ToUserId":"96b1c943-ade0-4026-b8ed-0f4a6231e586","ProductId":null,"ParentMessageId":null,"Subject":"test message","StyleNumber":null},{"Id":19,"MessageContent":"test data","FromUserId":"74df8f98-2925-4242-8d32-8b09f3691396","UserName":"[email protected]","ToUserId":"96b1c943-ade0-4026-b8ed-0f4a6231e586","ProductId":null,"ParentMessageId":null,"Subject":"Test Message by Dev Team","StyleNumber":null},{"Id":20,"MessageContent":"test message","FromUserId":"74df8f98-2925-4242-8d32-8b09f3691396","UserName":"[email protected]","ToUserId":"96b1c943-ade0-4026-b8ed-0f4a6231e586","ProductId":null,"ParentMessageId":null,"Subject":"test message","StyleNumber":null},{"Id":21,"MessageContent":"test","FromUserId":"74df8f98-2925-4242-8d32-8b09f3691396","UserName":"[email protected]","ToUserId":"96b1c943-ade0-4026-b8ed-0f4a6231e586","ProductId":null,"ParentMessageId":1,"Subject":"test mness","StyleNumber":null},{"Id":22,"MessageContent":"test","FromUserId":"74df8f98-2925-4242-8d32-8b09f3691396","UserName":"[email protected]","ToUserId":"96b1c943-ade0-4026-b8ed-0f4a6231e586","ProductId":null,"ParentMessageId":1,"Subject":"test ","StyleNumber":null},{"Id":25,"MessageContent":"test message","FromUserId":"74df8f98-2925-4242-8d32-8b09f3691396","UserName":"[email protected]","ToUserId":"96b1c943-ade0-4026-b8ed-0f4a6231e586","ProductId":null,"ParentMessageId":1,"Subject":"test message","StyleNumber":null},{"Id":28,"MessageContent":"test data tsn","FromUserId":"74df8f98-2925-4242-8d32-8b09f3691396","UserName":"[email protected]","ToUserId":"96b1c943-ade0-4026-b8ed-0f4a6231e586","ProductId":null,"ParentMessageId":null,"Subject":"Test Message by Dev Team","StyleNumber":null}],"Pagination":{"Page":1,"PageLength":20,"TotalRecords":20,"TotalPages":1},"MessageLimit":{"TotalMessageCount":5,"RemainingMessageCount":3}}} 

enter image description here

+0

API 링크가 작동하지 않습니다 data.Messages 같은 데이터에 액세스해야합니다. 나는 당신이'data [0]'을 사용해야한다고 가정 할 것입니다. –

+0

'data'는 배열이 아니라 객체입니다. 따라서'data.Messages'를 사용할 수 있습니다. – Und3rTow

+0

은 스크린 샷으로 내 질문을 업데이트했습니다. 한번 봐주세요. – Karty

답변

0

보십시오

data.data.Messages[1] 

데이터 객체가 아니라 배열이다. 메시지가 배열입니다.

+0

을 확인하십시오. 스크린 샷을 확인 했습니까? – Karty

+0

지금 시도하십시오, 내 잘못, 첫 번째 데이터를 보지 못했습니다. –

+0

은 정의되지 않은 속성 1을 읽을 수 없습니다. – Karty

0

당신은

getAllMessages(): Observable<IMessage[]> { 
    this.messageRepositoryService.getAllMessages() 
    .subscribe((data:any) => { 
     console.log('data is =>', data.data.Messages); 
     this.messages = data.data.Messages; 
    }, 
    err => { 
     console.log('Error occured while fetching country List'); 
    }); 
    return; 
    } 
+0

데이터가 아직 정의되지 않았습니다. 스크린 샷을 확인 했습니까? – Karty

+0

을 console.log에 표시하면 정의되지 않아야합니다. – Sajeetharan

+0

data.data.messages는 편집기에서 정의되지 않았습니다. 업데이트 된 질문을 참조하십시오. – Karty