You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在GraphQL中正确配置以返回字符串数组?

问题排查:GraphQL中flickr_images返回null的解决方法

核心问题

你的links字段的resolve函数返回了完整的Launch数据对象,但UrlType定义的字段(mission_patch_small、flickr_images)实际是SpaceX API返回的Launch对象里links子对象的属性。直接返回整个Launch对象的话,GraphQL会在根对象里查找这些字段,自然找不到对应值,所以返回null。

修复方案

修改links字段的resolve函数,让它返回Launch数据里的links子对象,而非整个Launch数据:

links: {
  type: UrlType,
  args: {
    flight_number: { type: GraphQLInt },
  },
  resolve(parent, args) {
    return axios
      .get(`https://api.spacexdata.com/v3/launches/${args.flight_number}`)
      .then((res) => res.data.links); // 改为返回links子对象
  },
},

额外验证点

  • 确认SpaceX API返回的Launch数据结构:flickr_images确实是links对象下的数组类型字段
  • 检查查询语句是否正确请求了目标字段,示例查询:
    query GetLaunch($flightNumber: Int!) {
      launch(flight_number: $flightNumber) {
        links {
          flickr_images
          mission_patch_small
        }
      }
    }
    

内容的提问来源于stack exchange,提问作者Johan Lourens

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 13:20:28