• [GraphQL] Use GraphQL's Object Type for Basic Types


    We can create the most basic components of our GraphQL Schema using GraphQL's Object Types. These types allow us to group related fields together under a specific type, such as a Video or a User, and then allows us to fetch these types when we query our schema. In this video, we'll learn how to write GraphQL Object Types in GraphQL's Schema language, as well as how to create resolvers for them, and ultimately how to query them.

    We are going to refactor this code to make it more readable and meanful:

    const { graphql, buildSchema } = require('graphql');
    
    const schema = buildSchema(`
        type Query {
            id: ID,
            title: String,
            duration: Int,
            watched: Boolean
        }
        
        type Schema{
            query: Query
        }
    `);
    
    const resolvers = {
        id       : () => '1',
        title    : () => 'bar',
        duration : () => 180,
        watched  : true
    };
    
    const query = `
        query myFirstQuery {
            id,
            title,
            duration,
            watched
        }
    `;
    
    graphql(schema, query, resolvers)
    .then((result) => console.log(result))
    .catch(console.error)

    'id', 'title', 'duration', 'watched' are video related. So we create a Video type.

    const { graphql, buildSchema } = require('graphql');
    
    const schema = buildSchema(`
        type Video {
            id: ID,
            title: String,
            duration: Int,
            watched: Boolean
        }
        
        type Query {
            video: Video
        }
        
        type Schema{
            query: Query
        }
    `);
    
    const resolvers = {
        video : () => ({
            id       : '1',
            title    : 'bar',
            duration : 180,
            watched  : true
        })
    };
    
    const query = `
        query myFirstQuery {
            video {
                id,
                title,
                duration,
                watched
            }
        }
    `;
    
    graphql(schema, query, resolvers)
    .then((result) => console.log(result))
    .catch(console.error)
  • 相关阅读:
    UDP 远程主机强迫关闭了一个现有连接
    CSS float 理解
    C# 启用事务提交多条带参数的SQL语句
    EF学习之DBFirst
    说一说JavaScript 中的原型ProtoType
    Unity
    Unity
    Unity
    Unity
    Godot
  • 原文地址:https://www.cnblogs.com/Answer1215/p/6228213.html
Copyright © 2020-2023  润新知