Estou tentando criar uma pokedex utilizando a API "PokeAPI", porém ela necessita de várias requisições para pegar os valores completos. Ex: Em uma requisição para o pokemon, ele retorna muitas informações, mas para obter informações adicionais (eu tenho o nome do pokemon, mas preciso da imagem e do índice também), eu tenho que realizar uma segunda requisição, queria saber como posso exibir isso no HTML utilizando *ngFor.
Interface do Pokemon
export interface IPokemon {
count : number,
next : string,
previous : string,
results : [{
name: string,
url: string
}]
}
Interface das informações do Pokemon:
export interface IPokemon_info {
id : number,
name : string,
base_experience : number,
height : number,
weight : number,
sprites : {
front_default : string
},
types : [{
slot: number,
type : {
name : string,
url : string
}
}],
abilities : [{
is_hidden : boolean,
slot : number,
ability : {
name : string,
url : string
}
}],
moves : [{
move : {
name: string,
url : string
},
version_group_details : [{
level_learned_at : number
}]
}],
stats : [{
base_stat : number,
effort : number,
stat : { name: string}
}]
}
HTML:
<div class="pokemon-app">
<div class="pokemons-card" *ngFor="let pokemon of pokemons.results">
<div routerLink="/Pokemons/{{pokemon.name}}">
<img src="https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/{{pokemon.url.split('/')[6]}}.png" alt="Imagem do Pokemon" class="imagem-pokemon" />
<br>
<label for="pokemon-nome" class="pokemon-nome">
{{ pokemon.name.toUpperCase() }}
</label>
</div>
</div>
</div>
Eu consegui a imagem por meio de um "meio alternativo", porém a ideia da API é realizar uma segunda requisição na url contida em "results.URL" da interface "IPokemon" e acessar o valor "sprites" da interface "IPokemon_info"