zoukankan      html  css  js  c++  java
  • [GraphQL] Use GraphQLList with GraphQLObject Types

    When working with collections of things in GraphQL, we'll always reach out for the GraphQLListType. In this video, we'll learn how to use GraphQLList from the graphql package in combination with a GraphQLObject Type to create a field that returns a collection in our Schema.

    We can use GraphQLList to fetch list objects:

    const queryType = new GraphQLObjectType({
        name: 'QueryType',
        description: 'The root query type',
        fields :{
            videos: {
                type: new GraphQLList(videoType),
                resolve: getVideos
            },
            video: {
                type: videoType,
                args: {
                    id: {
                        type : new GraphQLNonNull(GraphQLID),
                        description: 'The id of the video'
                    }
                },
                resolve: (_, args) => getVideoById(args.id)
            }
        }
    });

    Data:

    const videoA = {
        id: 'a',
        title: 'Create a GraphQL Schema',
        duration: 120,
        watched: true,
    };
    const videoB = {
        id: 'b',
        title: 'Ember.js CLI',
        duration: 240,
        watched: false,
    };
    const videos = [videoA, videoB];
    const getVideoById = (id) => new Promise((resolve) => {
        const [video] = videos.filter((video) => {
            return video.id === id;
        });
    
        resolve(video);
    });
    
    const getVideos = () => new Promise((resolve) => resolve(videos));
    
    exports.getVideoById = getVideoById;
    exports.getVideos = getVideos;
  • 相关阅读:
    getopt for windows
    开源代码学习之Tinyhttpd
    GCC 中的编译器堆栈保护技术
    读《程序员的思维修炼》有感
    main之前初始化流程
    平均速度
    显示图案
    圆的面积和周长
    C#(Winform) Http 发送数据
    Android BaseAdapter的使用
  • 原文地址:https://www.cnblogs.com/Answer1215/p/6269835.html
Copyright © 2011-2022 走看看