用户登录

在查询里面可以直接设置字段参数的值,不过有时候这些参数的值可能需要动态的传递给查询。比如在一个筛选页面,用户可以选择某些选项,这些选项的值是动态的,所以我们可以在 GraphQL 查询里事先定义好一些变量,然后再用变量的形式把查询需要的值传递进来。

要在查询里定义变量,必须要在查询里设置操作类型还有操作的名称,在这个操作名称的后面,可以定义查询里面需要的一些变量,比如我们添加一个 id 变量,变量名字的前面都带着 $ 前缀,冒号右边设置一下这个变量值的类型,这里它的值应该是一个 String,就是字符串,在这个类型的后面加上一个 ! 号,表示这是一个必填的值。

在这个变量后面加上一个等号,然后可以给它设置一下默认的值。

在查询里面,我们再用一下定义好的这个 $id 变量的值,把这个 $id 交给 user 字段的 id 参数。

Query Variables

执行查询的时候,需要再提供一个查询变量,在这个 Playground 下面,打开 Query Variables, 查询变量的格式一般是 JSON,添加一个 JSON 格式的数据,在它里面添加一个 "id" 设置一下这个查询变量的值,这个值的类型应该是一个字符串。

执行一下,返回的就是 id 号是 1 的这个用户还有它发布的内容列表。 修改一下查询变量里的 id 的值,换成 2,再执行一下,这次服务端响应回来的就是 id 号是 2 的用户相关的一些数据。

打开浏览器的开发者工具,Network 选项卡,再执行一下这个查询,然后选中刚才发送的这个请求观察一下。在 Headers 这个选项卡的下面,找到 Request Payload, 它下面的值就是请求带的数据,就是发送给后端服务的数据。这个请求带的东西有 operationName,操作名称,还有 query,查询本身,还有一个 variables,它里面的东西就是查询里需要的变量。

GraphQL 查询中的变量(Variables)《 企业应用架构:GraphQL 查询 》

统计

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

社会化网络

关于

微信订阅号

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