zoukankan      html  css  js  c++  java
  • [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)
  • 相关阅读:
    针对大数据量 高并发量网站的解决方案
    session cookie 在用户登录中的使用
    彻底弄懂HTTP缓存机制及原理
    cookie 和session 的区别详解
    常见的浏览器兼容性问题
    内容分发网络(CDN)
    表现与数据分离、Web语义化
    关于bootstrap样式重写,无法覆盖的问题
    判断一个字符串中出现次数最多的字符
    [译]SQL Passion Week 10: 计划缓存
  • 原文地址:https://www.cnblogs.com/Answer1215/p/6228213.html
Copyright © 2011-2022 走看看