TransWikia.com

Cannot read property 'data' of undefined

Stack Overflow em Português Asked by oitathi on November 8, 2021

Estou recebendo o seguinte response:

{"content":[{"id":"33","dsProjeto":"EXT-016370-00002","nomeProjeto":"Brazil IT Assesment","setor":"Insurance","un":"INSURANCE","dtInicio":"2018-12-01T02:00:00.000+0000","dtFim":"2019-06-30T03:00:00.000+0000","valorEconomico":"null","nrHoras":"null","ano":"2019","autenticado":"false","processosModelados":"java","servicosPrestados":null,"tecnologias":null,"detalhamento":"bibibi","urlAtestadoGerado":null,"urlModeloGerado":null,"nomeContato":" ","cargoContato":null,"emailContato":null,"telefoneContato":null,"idCliente":"6","nomeCliente":"Assicurazioni Generali S.","cnpjCliente":null,"urlImagemLogoCliente":null,"tipoLogradouroCliente":"","logradouroCliente":"","numeroCliente":"","complementoCliente":"","bairroCliente":"","cepCliente":"","cidadeCliente":"","estadoCliente":"","paisCliente":"","nomePrestadora":"EVERIS BRASIL CONSULTORIA DE NEGOCIOS E TI LTDA","cnpjPrestadora":"04232671000481","tipoLogradouroPrestadora":"Avenida","logradouroPrestadora":"Nações Unidas","numeroPrestadora":"14171","complementoPrestadora":"16º andar, Rochaverá Corporate Towers – Marble Tower","bairroPrestadora":"Vila Almeida","cepPrestadora":"04794000","cidadePrestadora":"São Paulo","estadoPrestadora":"SP","paisPrestadora":"Brasil","nomeGerente":"Rogerio Eduardo Polo","emailGerente":"[email protected]","codigoGerente":"154595","grupoGerente":"Director","loginGerente":"reduardo","statusProjetoDescricao":"Assinado","statusProjetoabreviacao":"ASS","statusRegistroDescricao":"","statusRegistroabreviacao":""},{"id":"36","dsProjeto":"EXT-034402-00009","nomeProjeto":"Apoio à área de Governança de TI","setor":"Industry","un":"BUSINESS","dtInicio":"2018-10-01T03:00:00.000+0000","dtFim":"2019-04-30T03:00:00.000+0000","valorEconomico":"null","nrHoras":"null","ano":"2019","autenticado":"false","processosModelados":"java","servicosPrestados":null,"tecnologias":null,"detalhamento":"bobobo","urlAtestadoGerado":null,"urlModeloGerado":null,"nomeContato":" ","cargoContato":null,"emailContato":null,"telefoneContato":null,"idCliente":"8","nomeCliente":"Pao de Acucar","cnpjCliente":null,"urlImagemLogoCliente":null,"tipoLogradouroCliente":"","logradouroCliente":"","numeroCliente":"","complementoCliente":"","bairroCliente":"","cepCliente":"","cidadeCliente":"","estadoCliente":"","paisCliente":"","nomePrestadora":"EVERIS BRASIL CONSULTORIA DE NEGOCIOS E TI LTDA","cnpjPrestadora":"04232671000481","tipoLogradouroPrestadora":"Avenida","logradouroPrestadora":"Nações Unidas","numeroPrestadora":"14171","complementoPrestadora":"16º andar, Rochaverá Corporate Towers – Marble Tower","bairroPrestadora":"Vila Almeida","cepPrestadora":"04794000","cidadePrestadora":"São Paulo","estadoPrestadora":"SP","paisPrestadora":"Brasil","nomeGerente":"Anderson Allegretti Bomfa","emailGerente":"[email protected]","codigoGerente":"117539","grupoGerente":"Manager","loginGerente":"aallegre","statusProjetoDescricao":"Assinado","statusProjetoabreviacao":"ASS","statusRegistroDescricao":"","statusRegistroabreviacao":""},{"id":"37","dsProjeto":"EXT-034402-00011","nomeProjeto":"Modelo de identificação e recorrencia sq","setor":"Industry","un":"BUSINESS","dtInicio":"2019-03-01T03:00:00.000+0000","dtFim":"2019-10-30T03:00:00.000+0000","valorEconomico":"null","nrHoras":"null","ano":"2019","autenticado":"false","processosModelados":"java, c#","servicosPrestados":null,"tecnologias":null,"detalhamento":"blablabla","urlAtestadoGerado":null,"urlModeloGerado":null,"nomeContato":" ","cargoContato":null,"emailContato":null,"telefoneContato":null,"idCliente":"8","nomeCliente":"Pao de Acucar","cnpjCliente":null,"urlImagemLogoCliente":null,"tipoLogradouroCliente":"","logradouroCliente":"","numeroCliente":"","complementoCliente":"","bairroCliente":"","cepCliente":"","cidadeCliente":"","estadoCliente":"","paisCliente":"","nomePrestadora":"EVERIS BRASIL CONSULTORIA DE NEGOCIOS E TI LTDA","cnpjPrestadora":"04232671000481","tipoLogradouroPrestadora":"Avenida","logradouroPrestadora":"Nações Unidas","numeroPrestadora":"14171","complementoPrestadora":"16º andar, Rochaverá Corporate Towers – Marble Tower","bairroPrestadora":"Vila Almeida","cepPrestadora":"04794000","cidadePrestadora":"São Paulo","estadoPrestadora":"SP","paisPrestadora":"Brasil","nomeGerente":"Anderson Allegretti Bomfa","emailGerente":"[email protected]","codigoGerente":"117539","grupoGerente":"Manager","loginGerente":"aallegre","statusProjetoDescricao":"Assinado","statusProjetoabreviacao":"ASS","statusRegistroDescricao":"","statusRegistroabreviacao":""}],"pageable":"INSTANCE","totalPages":1,"totalElements":3,"last":true,"size":0,"number":0,"sort":{"sorted":false,"unsorted":true,"empty":true},"numberOfElements":3,"first":true,"empty":false}

e estou tentando passar os dados pra uma tableDataSource da seguinte forma (no onInit):

import { Component, OnInit, ViewChild } from '@angular/core';
import { MatPaginator, MatSort, MatTableDataSource } from '@angular/material';
import { ProjetoService } from 'src/app/shared/services/projeto.service';
import { Atestado, Page } from './atestado';

@Component({
  selector: 'app-atestado',
  templateUrl: './atestado.component.html',
  styleUrls: ['./atestado.component.scss']
})
export class AtestadoComponent implements OnInit {

dataSource: MatTableDataSource<Atestado>;
displayedColumns= ['id', 'dsProjeto', 'nomeGerente'];
page: Page;

@ViewChild(MatSort) sort: MatSort;
@ViewChild(MatPaginator) paginator: MatPaginator;   

constructor(private projetoService: ProjetoService) {}

ngOnInit(): void {
    this.projetoService.buscaAtestados('java',1,'id','ASC')
    .subscribe(
        data  => {
            console.log(data);
            this.page = data;
            const atestados = data.content;
            this.dataSource = new MatTableDataSource<Atestado>(atestados);
        });
}

}

mas dá o seguinte erro: core.js:14576 ERROR TypeError: Cannot read property ‘data’ of undefined

codigo do serviço:

public buscaAtestados( 
            filtro: string,
            page: number,
            ord:string,
            dir:string): Observable<Page> {

return  this.httpClient.get<Atestado>(this.applicationUrl + mappingUrls.projetoService.buscaAtestados, { 
    params: new  HttpParams ()
        .set('filtro',filtro)
        .set('pag',page.toString())
        .set('ord',ord)
        .set('dir', dir)
}).pipe(
        map(res =>  res["payload"])
    );

}

Alguém pode me ajudar?

One Answer

o serviço estava errado! Esse é o certo!:

 public buscaAtestados( 
            filtro: string,
            page: number,
            ord:string,
            dir:string): Observable<Page> {

    return  this.httpClient
    .get<Page>(this.applicationUrl + mappingUrls.projetoService.buscaAtestados, { 
    params: new  HttpParams ()
        .set('filtro',filtro)
        .set('pag',page.toString())
        .set('ord',ord)
        .set('dir', dir)
    }).pipe(
        map(res => {
            return res;
        })
    );
}

Answered by oitathi on November 8, 2021

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP