Я хотел бы знать, возможно ли фильтровать ответ API напрямую через URL.
URL API: https://coronavirus-19-api.herokuapp.com/countries
Я только Для примера приведем 2 страны, но структура ответа выглядит следующим образом:
[
{
"country":"USA",
"cases":176518,
"todayCases":12730,
"deaths":3431,
"todayDeaths":290,
"recovered":6241,
"active":166846,
"critical":3893,
"casesPerOneMillion":533,
"deathsPerOneMillion":10,
"firstCase":"\nJan 20 "
},
{
"country":"Italy",
"cases":105792,
"todayCases":4053,
"deaths":12428,
"todayDeaths":837,
"recovered":15729,
"active":77635,
"critical":4023,
"casesPerOneMillion":1750,
"deathsPerOneMillion":206,
"firstCase":"\nJan 29 "
}
]
На данный момент в моем проекте я собираю все ответы и фильтрую впоследствии, чтобы получить только данные для страны, но для оптимизировать производительность Я хотел бы отфильтровать ответы непосредственно по URL.
async getCountryStats() {
try {
let response = await fetch("https://coronavirus-19-api.herokuapp.com/countries")
if (response.status === 200) {
let data = await response.json()
// Data object with ID
data = Object.assign({}, data)
// Data object with name of property
let obj = {}
for (let i in data) {
obj = { ...obj, [data[i].country]: data[i] }
}
this.setState({ focusStats: obj[this.state.focusCountry] })
} else {
this.setState({ errorStatus: true })
console.error('Error status')
}
} catch (err) {
console.error(err)
}
}
Я использую React, вот мой репозиторий: https://github.com/michaelbaud/covid19, вот рендеринг: https://suspicious-kilby-d90f99.netlify.com