我对外部API的Apollo服务器查询返回null

时间:2019-07-29 20:23:41

标签: graphql apollo-server

我成功地从外部API提取了一组对象。但是,当我尝试设置解析器/模式以使用GraphQL查询该数组时,查询返回null。

我以前使用过Apollo Server,所以我尝试将此问题与以前的代码进行比较。但是我不知道出什么问题了。

对我的axios GET请求的响应,其中包含许多对象:

[
  { summonerId: 'WLFaNu_cf83a-vSAAMtc9sREIDOFJS',
    summonerName: 'DevilMan',
    leaguePoints: 563,
    rank: 'I',
    wins: 140,
    losses: 107,
    veteran: false,
    inactive: false,
    freshBlood: false,
    hotStreak: false },
  ...
]

我的模式:

export default gql`
    extend type Query {
        players: [Player!]!
    }

    type Player {
        summonerId: String!
        summonerName: String!
        leaguePoints: Int!
        rank: String!
        wins: Int!
        losses: Int!
    }
`

我的解析器:

export default {
    Query: {
        players: async (parent, args, context) => {
            try {
                await axios.get(`${options.uri}? 
                api_key=${options.accessToken}`)
                .then(res => {
                    return res.data.entries
                })
            } catch (err) {
                console.log (err)
            }
        },
    },
};

当我查询'players {summonerName}'时,GraphQL Playground中的错误:

“错误:无法为非空字段Query.players返回null。”,

预期结果: 上面axios请求中的{summonerName}数组。

感谢您的指导。

0 个答案:

没有答案