我是GraphQL的新手,如果我可以使用它来查询外部的第三方API数据,我很好奇。我有一个快速后端和一个反应前端,我以贵金属的价格向第三方API发送GET请求。
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。感谢。
答案 0 :(得分:2)
您可以直接从解析程序返回您的请求回复。
然后在匹配此解析器的前端查询中,仅获取您要求的内容。
后端:
rootQuery {
resolverName: () => getThirdParty
}
前端:
query {
resolverName {
whatYouWant1
whatYouWant2
}
}
您的查询和解析程序都应该与您的graphql架构匹配,但不能与第三方响应匹配。