PokeAPI / pokeapi

The Pokémon API
https://pokeapi.co
BSD 3-Clause "New" or "Revised" License
4.17k stars 938 forks source link

GraphQL vs REST API sprite response differing #1117

Closed lmuller18 closed 2 months ago

lmuller18 commented 2 months ago

When trying to retrieve the sprites from pecharunt, official artwork and front default urls return back from the REST API but not the graphQL API

Steps to Reproduce:

GQL Request

query test {
  pokemon_v2_pokemon(where: {name: {_eq:"pecharunt"}}) {
    name
    pokemon_v2_pokemonsprites {
      sprites
    }
  }
}
GQL Response ```JSON { "data": { "pokemon_v2_pokemon": [ { "name": "pecharunt", "pokemon_v2_pokemonsprites": [ { "sprites": { "other": { "home": { "front_shiny": null, "front_female": null, "front_default": null, "front_shiny_female": null }, "showdown": { "back_shiny": null, "back_female": null, "front_shiny": null, "back_default": null, "front_female": null, "front_default": null, "back_shiny_female": null, "front_shiny_female": null }, "dream_world": { "front_female": null, "front_default": null }, "official-artwork": { "front_shiny": null, "front_default": null } }, "versions": { "generation-i": { "yellow": { "back_gray": null, "front_gray": null, "back_default": null, "front_default": null, "back_transparent": null, "front_transparent": null }, "red-blue": { "back_gray": null, "front_gray": null, "back_default": null, "front_default": null, "back_transparent": null, "front_transparent": null } }, "generation-v": { "black-white": { "animated": { "back_shiny": null, "back_female": null, "front_shiny": null, "back_default": null, "front_female": null, "front_default": null, "back_shiny_female": null, "front_shiny_female": null }, "back_shiny": null, "back_female": null, "front_shiny": null, "back_default": null, "front_female": null, "front_default": null, "back_shiny_female": null, "front_shiny_female": null } }, "generation-ii": { "gold": { "back_shiny": null, "front_shiny": null, "back_default": null, "front_default": null, "front_transparent": null }, "silver": { "back_shiny": null, "front_shiny": null, "back_default": null, "front_default": null, "front_transparent": null }, "crystal": { "back_shiny": null, "front_shiny": null, "back_default": null, "front_default": null, "back_transparent": null, "front_transparent": null, "back_shiny_transparent": null, "front_shiny_transparent": null } }, "generation-iv": { "platinum": { "back_shiny": null, "back_female": null, "front_shiny": null, "back_default": null, "front_female": null, "front_default": null, "back_shiny_female": null, "front_shiny_female": null }, "diamond-pearl": { "back_shiny": null, "back_female": null, "front_shiny": null, "back_default": null, "front_female": null, "front_default": null, "back_shiny_female": null, "front_shiny_female": null }, "heartgold-soulsilver": { "back_shiny": null, "back_female": null, "front_shiny": null, "back_default": null, "front_female": null, "front_default": null, "back_shiny_female": null, "front_shiny_female": null } }, "generation-vi": { "x-y": { "front_shiny": null, "front_female": null, "front_default": null, "front_shiny_female": null }, "omegaruby-alphasapphire": { "front_shiny": null, "front_female": null, "front_default": null, "front_shiny_female": null } }, "generation-iii": { "emerald": { "front_shiny": null, "front_default": null }, "ruby-sapphire": { "back_shiny": null, "front_shiny": null, "back_default": null, "front_default": null }, "firered-leafgreen": { "back_shiny": null, "front_shiny": null, "back_default": null, "front_default": null } }, "generation-vii": { "icons": { "front_female": null, "front_default": null }, "ultra-sun-ultra-moon": { "front_shiny": null, "front_female": null, "front_default": null, "front_shiny_female": null } }, "generation-viii": { "icons": { "front_female": null, "front_default": null } } }, "back_shiny": null, "back_female": null, "front_shiny": null, "back_default": null, "front_female": null, "front_default": null, "back_shiny_female": null, "front_shiny_female": null } } ] } ] } } ```

GET https://pokeapi.co/api/v2/pokemon/pecharunt

REST Response ```json { ..., "sprites": { "back_default": null, "back_female": null, "back_shiny": null, "back_shiny_female": null, "front_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/1025.png", "front_female": null, "front_shiny": null, "front_shiny_female": null, "other": { "dream_world": { "front_default": null, "front_female": null }, "home": { "front_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/other/home/1025.png", "front_female": null, "front_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/other/home/shiny/1025.png", "front_shiny_female": null }, "official-artwork": { "front_default": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/other/official-artwork/1025.png", "front_shiny": "https://raw.githubusercontent.com/PokeAPI/sprites/master/sprites/pokemon/other/official-artwork/shiny/1025.png" }, "showdown": { "back_default": null, "back_female": null, "back_shiny": null, "back_shiny_female": null, "front_default": null, "front_female": null, "front_shiny": null, "front_shiny_female": null } }, "versions": { "generation-i": { "red-blue": { "back_default": null, "back_gray": null, "back_transparent": null, "front_default": null, "front_gray": null, "front_transparent": null }, "yellow": { "back_default": null, "back_gray": null, "back_transparent": null, "front_default": null, "front_gray": null, "front_transparent": null } }, "generation-ii": { "crystal": { "back_default": null, "back_shiny": null, "back_shiny_transparent": null, "back_transparent": null, "front_default": null, "front_shiny": null, "front_shiny_transparent": null, "front_transparent": null }, "gold": { "back_default": null, "back_shiny": null, "front_default": null, "front_shiny": null, "front_transparent": null }, "silver": { "back_default": null, "back_shiny": null, "front_default": null, "front_shiny": null, "front_transparent": null } }, "generation-iii": { "emerald": { "front_default": null, "front_shiny": null }, "firered-leafgreen": { "back_default": null, "back_shiny": null, "front_default": null, "front_shiny": null }, "ruby-sapphire": { "back_default": null, "back_shiny": null, "front_default": null, "front_shiny": null } }, "generation-iv": { "diamond-pearl": { "back_default": null, "back_female": null, "back_shiny": null, "back_shiny_female": null, "front_default": null, "front_female": null, "front_shiny": null, "front_shiny_female": null }, "heartgold-soulsilver": { "back_default": null, "back_female": null, "back_shiny": null, "back_shiny_female": null, "front_default": null, "front_female": null, "front_shiny": null, "front_shiny_female": null }, "platinum": { "back_default": null, "back_female": null, "back_shiny": null, "back_shiny_female": null, "front_default": null, "front_female": null, "front_shiny": null, "front_shiny_female": null } }, "generation-v": { "black-white": { "animated": { "back_default": null, "back_female": null, "back_shiny": null, "back_shiny_female": null, "front_default": null, "front_female": null, "front_shiny": null, "front_shiny_female": null }, "back_default": null, "back_female": null, "back_shiny": null, "back_shiny_female": null, "front_default": null, "front_female": null, "front_shiny": null, "front_shiny_female": null } }, "generation-vi": { "omegaruby-alphasapphire": { "front_default": null, "front_female": null, "front_shiny": null, "front_shiny_female": null }, "x-y": { "front_default": null, "front_female": null, "front_shiny": null, "front_shiny_female": null } }, "generation-vii": { "icons": { "front_default": null, "front_female": null }, "ultra-sun-ultra-moon": { "front_default": null, "front_female": null, "front_shiny": null, "front_shiny_female": null } }, "generation-viii": { "icons": { "front_default": null, "front_female": null } } } } } ```
phalt commented 2 months ago

This could just be a mismatch in how we generate the data for GQL and the HTTP API.

Naramsim commented 2 months ago

Hi! Thanks for catching the bug. In fact we didn't pull correctly the submodules data in the GQL machine when updating data.

https://github.com/PokeAPI/pokeapi/commit/08f96f720ff58d402b3c712737bb44686646c0fb

This commit fixes it, hopefully.

I'll trigger a build and ask you to test again.

lmuller18 commented 2 months ago

Awesome. I ran that query with a few different 'mon that I was seeing that issue with and they look good now. Thanks for the quick fix.