我成功地从外部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}
数组。
感谢您的指导。