Я новичок в GraphQL, и мне было любопытно, могу ли я использовать его для запроса данных к внешнему стороннему API. У меня есть экспресс-сервер и интерфейс для реагирования, и я отправляю запрос GET в сторонний API по цене драгоценных металлов.
API отвечает одним большим объектом, который заполнен вещами, которые мне не нужны, но я все еще получаю через HTTP. Например, API возвращает это:
{
"gold_bid_usd_toz": "1303.58",
"gold_ask_usd_toz": "1304.58",
"gold_change_dollar_usd_toz": "1.23",
"gold_change_percent_usd_toz": "0.09%",
"gold_high_usd_toz": "1306.51",
"gold_low_usd_toz": "1299.85",
"gold_londonfix_am": "1320.7",
"gold_londonfix_pm": "1319.92",
"silver_bid_usd_toz": "16.5",
"silver_ask_usd_toz": "16.6",
"silver_change_dollar_usd_toz": "-0.02",
"silver_change_percent_usd_toz": "-0.13%",
"silver_high_usd_toz": "16.6",
"silver_low_usd_toz": "16.46",
"silver_londonfix": "16.6",
...LOTS MORE...
}
Если меня интересуют только два свойства, могу я сделать что-то вроде этого:
query {
gold_bid_usd_toz
silver_bid_usd_toz
}
Просто не уверен, что мне нужно контролировать данные серверной части, чтобы использовать GraphQL. Спасибо.





Вы можете вернуть свой ответ на запрос прямо из преобразователя как есть.
Затем во внешнем запросе, соответствующем этому преобразователю, получите только то, что вы просили.
Бэкэнд:
rootQuery {
resolverName: () => getThirdParty
}
Внешний интерфейс:
query {
resolverName {
whatYouWant1
whatYouWant2
}
}
И ваш запрос, и преобразователь должны соответствовать вашей схеме graphql, но не ответу третьей стороны.