0
点赞
收藏
分享

微信扫一扫

gpl schema

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  // 扩冲
    }

举报

相关推荐

0 条评论