gpl schema
  YQBUvtbFE7rq 2023年11月22日 18 0

1. what?

①. Schema是用于定义数据结构的.
    a. 如:User对象中有哪些属性、对象与对象之间是什么关系等.

2. Schema定义结构:

// 定义查询
schema {
    query: UserQuery
}
// 定义查询的类型
type UserQuery {
    // 指定对象以及参数类型
    user(id: ID) : User
}
// 定义对象
type User {
    // !表示该属性是非空项
    id: ID!
    name: String
    age: Int
}

3. 标量类型(Scalar Types):

①. GraphQL规范中,默认定义了5种类型:
    a. Int: 有符号32位整数
    b. Float: 有符号双精度浮点值
    c. String: UTF-8字符序列
    d. Boolean: true、false
    e. ID: ID标量类型表示一个唯一标识符,通常用以重新获取对象或者作为缓存中的键

②. 自定义类型:
    a. 在graphql-java实现中增加了: Long、Byte等.

4. 枚举类型:

①. 枚举类型是一种特殊的标量,它限制在一个特殊的可选值集合内.

②. 举例:
    // 定义枚举
    enum Episode {
        NEWHOPE
        EMPIRE
        JEDI
    }
    type Human {
        id: ID!
        name: String!
        // 使用枚举类型
        appearsIn: [Episode]!
        homePlanet: String
    }

5. 接口(interface):

①. 一个接口是一个抽象类型,包含某些字段,而对象类型必须包含这些字段,才能算实现了这个接口.

②. 举例:
    // 定义接口
    interface Character {
        id: ID!
        name: String
    }
    // 实现接口
    type Human implements Character {
        id: ID!
        name: String
        total: Int  // 扩冲
    }
【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

上一篇: axios详解 下一篇: VUE 基础入门
  1. 分享:
最后一次编辑于 2023年11月22日 0

暂无评论

推荐阅读
YQBUvtbFE7rq