genshindev / api

A fan-made Genshin Impact API for easy access to game data.
https://genshin.jmp.blue
Open Software License 3.0
696 stars 188 forks source link

Inconsistency API response #179

Open RezkyRizaldi opened 1 year ago

RezkyRizaldi commented 1 year ago

When you request to /characters/amber, the response contains

{
  ...
  gender: "Female",
  specialDish: "Outrider's Champion Steak!",
  ...
}

which in the other request it doesn't exists.

And in some endpoints e.g. /characters/keqing or /characters/jean the response contain

{
  outfits: [
    {
      ...
    }
  ]
}

which in the other request isn't present.

And other things like:

Is it better that if the missing key should be nullable instead of undefined or having an empty string?

arktn commented 1 year ago

I'll look into it! :+1:

arktn commented 1 year ago
* `affilation` key in `/characters/traveler`(s) has `'Not affilated to any Nation'` string value

Is it better that if the missing key should be nullable instead of undefined or having an empty string?

These API responses are made for clarity, for example "Not affiliated to any Nation" is still information about the character returning a null-able value here could mean that the affiliation is not known or hasn't been added yet or that there is none so the current output provides more clarity.

RezkyRizaldi commented 1 year ago
* `affilation` key in `/characters/traveler`(s) has `'Not affilated to any Nation'` string value

Is it better that if the missing key should be nullable instead of undefined or having an empty string?

These API responses are made for clarity, for example "Not affiliated to any Nation" is still information about the character returning a null-able value here could mean that the affiliation is not known or hasn't been added yet or that there is none so the current output provides more clarity.

I think it's better to make a new key-value for example affiliated with a boolean value or something that can be processed and consumed flexibly.

But it will make a breaking changes for the stucture.

RickDeb2004 commented 1 year ago

hello, I am debanjan mukherjee ,I would like to change the api and can make it more responsive .I have some projects on that .If you assign me I can do that.