GraphQL中的根查询字段viewer
的目的是什么?
基于this article,viewer
可用于接受 token 参数,因此我们可以查看当前登录的用户。
我应该如何实现?
最佳答案
viewer
根查询字段的目的viewer
不是GraphQL或特定于Relay的东西。大多数Web应用程序出于其用户或查看者的某些目的。可以将为用户提供的各种数据建模的顶级实体命名为viewer
。您也可以将其命名为user
。例如,Relay todo example具有viewer
根查询字段:
viewer: {
type: GraphQLUser,
resolve: () => getViewer(),
},
我们也可以不用
viewer
。例如,Relay starwars example没有任何viewer
根查询字段。简而言之,将此
viewer
作为GraphQL模式的根查询字段使我们能够基于当前用户提供数据。实现:如何与查看器一起使用身份验证 token
我的回答遵循您提到的文章中已经描述的内容。这些步骤是:
LoginMutation
。此突变的输入是用户凭据,输出是身份验证 token 。 authToken
查询添加viewer
参数。 authToken
的值是成功登录突变后收到的身份验证 token 。 替代
如本文中已经提到的,验证用户身份的另一种方法是在GraphQL之外进行验证。您可能希望看到两个出色的答案this和this了解详细信息。
乔纳斯·赫尔弗(Jonas Helfer)对此写了两部分的文章,您会发现它非常有用:Part 1,Part 2
关于graphql - GraphQL中的查看器字段是什么意思?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37635328/