当前位置: 首页 > 知识库问答 >
问题:

为嵌套类型定义编写解析程序

阎昌勋
2023-03-14

假设我的GraphQL API有以下类型定义:

const typeDef = `
    type Book {
         title: String
         author: Author
         likes: Int
    }

    type Author {
         id: String
         name: String
         age: Int
         books: [Book]
    }

    type Query{
         books(authorid: String!): Book
    }
`

那么,我需要多少解析器?我应该用一个解析器书籍来处理这个查询请求,并返回所有书籍和作者信息,还是应该制作许多解析器,如查询-


共有1个答案

百里雅珺
2023-03-14

无论您需要提供多少类型(书籍、作者等)或输入。

const schema = ` 
    type Mutation {
        mutatePost(postId:Int) :Int
    }
    type Query {
        hello: String
        posts: [String]
        books(authorId: String!): Book
    }
  `

您需要使用和在查询中定义的名称相同的名称,在解析器中必须相同

   const resolvers = {
        Query: {
        async hello() {
            return 'Hello';
        },
        async posts() {
            return ['Hello', 'World];
        },
        async books(_, { authorId }) {
            //Return data which you is defined in type Book
            //return Book
        }
        },
        Mutation: {
            async mutatePost(_, {
            postId
            }, context) {
            //return Integer
            }
        },
    }

每个查询和变异只需要queryResolver和mutationResolver

 类似资料:
  • 本文向大家介绍深入讲解C#编程中嵌套类型和匿名类型的定义与使用,包括了深入讲解C#编程中嵌套类型和匿名类型的定义与使用的使用技巧和注意事项,需要的朋友参考一下 嵌套类型 在类或结构内部定义的类型称为嵌套类型。例如: 不管外部类型是类还是结构,嵌套类型均默认为 private,但是可以设置为 public、protected internal、protected、internal 或 private

  • 本页包含内容: 嵌套类型实例 嵌套类型的引用 枚举类型常被用于实现特定类或结构体的功能。也能够在有多种变量类型的环境中,方便地定义通用类或结构体来使用,为了实现这种功能,Swift允许你定义嵌套类型,可以在枚举类型、类和结构体中定义支持嵌套的类型。 要在一个类型中嵌套另一个类型,将需要嵌套的类型的定义写在被嵌套类型的区域{}内,而且可以根据需要定义多级嵌套。 嵌套类型实例 下面这个例子定义了一个结

  • 我已经试过各种方法来解决这个问题了。但没有成功。 我有几节这样的课 在这种情况下,T可以是任何对象,并且应该可以在运行时解析。 Jackson真的无法将json反序列化为泛型类型吗?

  • 本文向大家介绍Java中定义了哪些不同类型的嵌套类?,包括了Java中定义了哪些不同类型的嵌套类?的使用技巧和注意事项,需要的朋友参考一下 在Java中,可以在另一个类中定义一个类,此类称为嵌套类。对于内部类,我们可以使用访问修饰符,例如private,public,protected或default;对于外部类, 可以使用default或public访问修饰符。 Java中定义了两种类型的嵌套类

  • 在 imi 框架中,使用注解可以实现很多功能。比如:路由、模型定义、事务、缓存等等 除了内置的注解以外,如果编写属于自己的注解呢? 这篇教程就来教大家来编写属于自己的注解。 注解定义 注解扫描 imi 是常驻内存运行的,所以冷启动时采用了全量扫描的方式,来实现注解缓存。使用的时候,就和读取配置一样简单高效。 一般需要在配置文件里的beanScan中,配置注解类所在命名空间。在 imi 框架中,涉及

  • 问题内容: 游乐场执行失败:MyPlayground.playground:109:22:错误:无效使用’()’调用非函数类型’[ClassA.ClassB.Type]’的值时,让didNotCompile = ClassA.ClassB ^ ~~ 问题答案: 如您所述,它可以使用以下语法: 但是,如果我们声明一个: 因此,我想说这是一个错误,也应该无需输入别名即可工作。 更新 :Apple 已经