0

我正在学习graphql。我一直在获取 api 信息。

我的架构是:

const particularUser = new GraphQLObjectType({
    name: "particularUser",
    description: "particular user field for person",
    fields: () => ({
        "id": {type: GraphQLInt},
        "first_name":  {type: GraphQLString},
        "last_name": {type: GraphQLString},
        "avatar": {type: GraphQLString}
    })
}); 

我的主要查询架构是这样的:

specificUser:{
            type:particularUser,
            description:"fetching particular user for specific id",
            args:{
                id:{
                    type:new GraphQLNonNull(GraphQLString)
                }
            },
            resolve:(_,{id}) => {
                console.log({id})
                const url = `https://reqres.in/api/users/${id}`;
                console.log(url)
                return axios.get(url).then((response) => {
                    console.log(response.data)
                        return response.data;
                    })
                    .catch((error) => {
                        return error;
                    })
            }

        }

当我在 graphql 服务器上运行时,它返回空值我在哪里做错了?

4

1 回答 1

0

您必须返回response.data.data

const specificUser = {
    type: ParticularUser,
    args: { id: { type: new GraphQLNonNull(GraphQLString) } },
    description: 'fetching particular user for specific id',
    resolve: (_, { id }) =>
      axios
        .get(`https://reqres.in/api/users/${id}`)
        .then(response => response.data.data)
        .catch(error => error),
};

在此处输入图像描述

于 2018-01-10T20:58:00.970 回答