Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

[Reclamação] Problemas com a api ( link do git hub esta abaixo do codigo)

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

import { Component, OnInit } from '@angular/core';
import { PromocaoService } from 'src/app/core/services/promocao.service';

@Component({
  selector: 'app-home',
  templateUrl: './home.component.html',
  styleUrls: ['./home.component.scss']
})
export class HomeComponent implements OnInit{
constructor(private servicoPromocao: PromocaoService){

}
  ngOnInit(): void {
    this.servicoPromocao.listar();
  }
}
import { HttpClient } from '@angular/common/http';
import { Injectable } from '@angular/core';
import { Promocao } from 'jornada-milhas-api/src/promocoes/entities/promocao.entity';
import { Observable } from 'rxjs';
import { environment } from 'src/environments/environment';

@Injectable({
  providedIn: 'root',
})
export class PromocaoService {
  private apiUrl: string = environment.apiUrl

  constructor(private httpClient: HttpClient) {}

  listar(): Observable<Promocao[]> {
    return this.httpClient.get<Promocao[]>(`${this.apiUrl}/promocoes`);
  }
}
export interface Promocao {
  id: number
  destino: string
  imagem: string
  preco: number
}

https://github.com/SamucaCS/TestL5/tree/master

2 respostas

eu fiz desse formato e foi, fiz certo?

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

solução!

Olá Samuel,

O seu repositório, está dando erro 404 e não consigo ver o mesmo, mas esses erros ocorrem normalmente, porque as propriedades id, destino, imagem e preco não foram inicializadas e não estão marcadas como opcionais, coisas do type rs.

Você pode inicializar as propriedades diretamente na interface ou marcá-las como opcionais. Aqui estão duas abordagens possíveis:

Para inicializar as propriedades diretamente na interface:

export interface Promocao {
  id: number;
  destino: string;
  imagem: string;
  preco: number;
}

ou tornar as propriedades opcionais usando o operador ?. Por exemplo:

export interface Promocao {
  id?: number;
  destino?: string;
  imagem?: string;
  preco?: number;
}

Escolha a abordagem que melhor se adequa ao seu caso de uso. Se as propriedades são obrigatórias e sempre devem ter um valor, a primeira abordagem é a mais adequada. Caso contrário, se as propriedades podem ser opcionais, a segunda abordagem é mais apropriada.

OI erro relacionado ao Buffer pode ser resolvido instalando as definições de tipo para o Node.js. Execute o seguinte comando que o próprio terminal aconselha:

npm install --save-dev @types/node

E adicione node ao campo types no seu arquivo tsconfig.json:

{
  "compilerOptions": {
    "types": ["node"]
  }
}

Por fim é valido, verificar se voce rodou o npm i, na API, pode resolver muitos erros.

Reforço que em casos de dúvidas, conte sempre com o fórum da comunidade Alura! Bons estudos!

Sucesso

Um grande abraço e até mais!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!