我刚接触GraphQL,很好奇是否可以用它来查询外部的第三方应用程序接口来获取数据。我有一个express后端和一个react前端,我正在向第三方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。谢谢。
发布于 2018-06-01 03:44:38
您可以直接从解析器返回请求响应。
然后,在与此解析器匹配的前端查询中,只获取您所要求的内容。
后端:
rootQuery {
resolverName: () => getThirdParty
}
前端:
query {
resolverName {
whatYouWant1
whatYouWant2
}
}
您的查询和解析器都应与您的graphql架构匹配,但不应与第三方响应匹配。
https://stackoverflow.com/questions/50630724
复制相似问题