Function retornando [object, object]

Angular

TypeScript

.NET Core

ASP.NET Web API

C#

27/03/2019

Pessoal, boa tarde.

Gostaria de pedir uma ajuda pra vocês.
Estou criando uma aplicação para realizar um Get em alguns serviços que criei.
Porém quando pego o retorno da api, o objeto na angular vem como [object, object] e não a array que retorno na api.

Meu código até agora.

Controller:

[HttpGet]
    [EnableCors]
    public async Task<List<ConsultarQuestionarioModel>> GetQuestionarios(CancellationToken cancellationToken)
    {

      await Task.Delay(3000);

      cancellationToken.ThrowIfCancellationRequested();

      _httpClient.Timeout = TimeSpan.FromMinutes(20);

      try
      {

        HttpResponseMessage response = await _httpClient.GetAsync("ConsultarQuestionarios", cancellationToken);

        if (response.IsSuccessStatusCode)
        {
          return await response.Content.ReadAsAsync<List<ConsultarQuestionarioModel>>();
        }
        else
        {
          return new List<ConsultarQuestionarioModel>();
        }

      }
      catch (Exception e)
      {
        return new List<ConsultarQuestionarioModel>();
      }

    }


Api services:

export class ApiService {

  constructor(
    private http: HttpClient,
  ) { }

  public firstPage: string = "";
  public prevPage: string = "";
  public nextPage: string = "";
  public lastPage: string = "";

  public ConsultarQuestionarios(): Observable<ConsultarQuestionarioModel[]> {
    return this.http.get<ConsultarQuestionarioModel[]>(`${environment.api_url}api/Gets/GetQuestionarios`);
  }


Function:

public ConsultarQuestionarios()
  {
    this.consultaQuestionario = new Array<ConsultarQuestionarioModel[]>();
    this.data.ConsultarQuestionarios().subscribe((data: any) =>
      {
        this.consultaQuestionario = data;
        console.log('Data:', this.consultaQuestionario);
      });

  }


Alguém poderia me ajudar com essa questão??
Thiago Romão

Thiago Romão

Curtidas 0

Respostas

Lucas Vargas

Lucas Vargas

27/03/2019

Quando vc executa no postman vem tudo certinho, se sim posta o resultado pra gente ver
GOSTEI 0
Thiago Romão

Thiago Romão

27/03/2019

Quando vc executa no postman vem tudo certinho, se sim posta o resultado pra gente ver


Vem sim,

Resultado do postman:

[
{
"questionarioCodigo": 5,
"questionarioNome": "Alteração OK",
"questionarioAtvSituacao": true,
"questionarioAptoSituacao": false,
"questionarioGrupoNome": "Trabalhos Monográficos Internos",
"questionarioSubGrupoNome": "Todos",
"anexoQuestionario": null
},
{
"questionarioCodigo": 6,
"questionarioNome": "Questionario 04",
"questionarioAtvSituacao": true,
"questionarioAptoSituacao": false,
"questionarioGrupoNome": "Trabalhos Monográficos Internos",
"questionarioSubGrupoNome": "Todos",
"anexoQuestionario": null
},
{
"questionarioCodigo": 7,
"questionarioNome": "Questionario 04",
"questionarioAtvSituacao": true,
"questionarioAptoSituacao": false,
"questionarioGrupoNome": "Trabalhos Monográficos Internos",
"questionarioSubGrupoNome": "Todos",
"anexoQuestionario": null
},
{
"questionarioCodigo": 8,
"questionarioNome": "Questionario 04",
"questionarioAtvSituacao": true,
"questionarioAptoSituacao": false,
"questionarioGrupoNome": "Trabalhos Monográficos Internos",
"questionarioSubGrupoNome": "Todos",
"anexoQuestionario": null
}
]
GOSTEI 0
Swellington Soares

Swellington Soares

27/03/2019

Pessoal, boa tarde.

Gostaria de pedir uma ajuda pra vocês.
Estou criando uma aplicação para realizar um Get em alguns serviços que criei.
Porém quando pego o retorno da api, o objeto na angular vem como [object, object] e não a array que retorno na api.

Meu código até agora.

Controller:

[HttpGet]
    [EnableCors]
    public async Task<List<ConsultarQuestionarioModel>> GetQuestionarios(CancellationToken cancellationToken)
    {

      await Task.Delay(3000);

      cancellationToken.ThrowIfCancellationRequested();

      _httpClient.Timeout = TimeSpan.FromMinutes(20);

      try
      {

        HttpResponseMessage response = await _httpClient.GetAsync("ConsultarQuestionarios", cancellationToken);

        if (response.IsSuccessStatusCode)
        {
          return await response.Content.ReadAsAsync<List<ConsultarQuestionarioModel>>();
        }
        else
        {
          return new List<ConsultarQuestionarioModel>();
        }

      }
      catch (Exception e)
      {
        return new List<ConsultarQuestionarioModel>();
      }

    }


Api services:

export class ApiService {

  constructor(
    private http: HttpClient,
  ) { }

  public firstPage: string = "";
  public prevPage: string = "";
  public nextPage: string = "";
  public lastPage: string = "";

  public ConsultarQuestionarios(): Observable<ConsultarQuestionarioModel[]> {
    return this.http.get<ConsultarQuestionarioModel[]>(`${environment.api_url}api/Gets/GetQuestionarios`);
  }


Function:

public ConsultarQuestionarios()
  {
    this.consultaQuestionario = new Array<ConsultarQuestionarioModel[]>();
    this.data.ConsultarQuestionarios().subscribe((data: any) =>
      {
        this.consultaQuestionario = data;
        console.log('Data:', this.consultaQuestionario);
      });

  }


Alguém poderia me ajudar com essa questão??


Olá, se o objetivo for visualizar os dados no console você pode substituir a linha onde tem console.log('Data:', this.consultaQuestionario); por console.log('Data:', JSON.stringify(this.consultaQuestionario));
E ver se funciona como esperado.
GOSTEI 0
POSTAR