用户登录

在客户端那里,可以使用 GraphQL 服务提供的一个 Introspection 系统,获取到 GraphQL 服务的一些相关的信息。在我们创建的 GraphQL 服务器提供的 Playground 上面,可以试一下这个系统提供的信息。

新建一个查询,输入一个对象,里面添加一个 __schema ,它里面有一些字段,可以先用一下这个 types, 查看一下 GraphQL 服务里面支持的一些类型。 选择使用 type 里的 name 属性。 执行一下这个查询,服务响应回来的数据里面,types 属性里的东西就是我们的 GraphQL 服务支持的一些类型。

这里的 Query,User,Post,还有 Mutation 是我们自己在 Schema 里面定义的,String,ID 还有 Boolean 是 GraphQL 自带的几个标量类型。

另外还有一些类型,名字最前面都带着两条下划线。这些东西就是 GraphQL 的 Introspection 系统里提供的一些类型。

queryType

再试一下,用一下 __schema 里的 queryType,然后选择使用类型里 name 这个字段。服务响应回来的数据里面显示服务里的查询类型的名字叫做 Query。

在 GraphQL 服务那里定义 schema 的时候,设置的查询类型的名字可以随便定义,只不过一般我们会使用 Query 这个名字。

类型

知道了 GraphQL 服务支持的类型以后,我们可以再检查其中的一个类型,用一下 __type 字段,需要设置一个参数,名字是 name,它的值就是一个类型的名字,比如 User。

然后用一下它的 name 字段,再用一下 fields 这个字段,里面再添加一个 name 属性。 执行一下这个查询,响应回来的东西就是 User 这个类型,还有它里面包含的一些字段。

描述

这里除了 name 字段,我们再添加一个 description,类型的描述。执行一下,响应的数据里面,这个 description 字段的值是 null 。

在 GraphQL 服务里面定义这个 User 类型的时候,可以设置一下类型的描述。

回到项目,打开 user 模块里的 user.model.ts ,在这个文件里我们定义的就是 User 这个对象类型,在这个 @ObjectType 装饰器里面,可以提供一个对象参数,里面添加一个 description ,它的值就是这个类型的描述,User object. 保存一下文件。

回到自动生成的 Schema 文件,你会发现,在定义 User 这个类型的上面这个用三个双引号包装的东西,就是这个类型的描述。

再到 Playground 里面,重新执行一下这个查询,这次返回的结果里面,User 这个类型的描述字段就有值了。

在客户端检查 GraphQL 服务的 Schema 与类型《 企业应用架构:GraphQL 查询 》

统计

14696
分钟
0
你学会了
0%
完成

社会化网络

关于

微信订阅号

扫描微信二维码关注宁皓网,每天进步一点