【问题标题】:Apollo Empty context阿波罗空上下文
【发布时间】:2018-09-09 12:08:34
【问题描述】:

我正在尝试获取上下文,在我的服务器端,不幸的是我总是得到一个空的上下文

客户端(角度):

this.apollo.query({ query: gql`{ message }`, context: { test: 'test' } }).subscribe(console.log)

服务器端:

message: {
   type: GraphQLString,
   resolve: (obj, args, context, info) => {
     console.log('context: ', context)

     return 'hey'
   }

【问题讨论】:

    标签: angular meteor graphql apollo


    【解决方案1】:

    客户端的上下文与服务器端解析器的上下文无关。

    要将信息传递给服务器,您可能需要使用query arguments。这就是解析器函数中的 args 参数的用途。

    服务器端

    关于服务器端的上下文,取自Resolver function signature

    1. context:这是特定查询中所有解析器共享的对象,用于包含每个请求的状态,包括身份验证信息、数据加载器实例以及解析时应考虑的任何其他内容查询。如果您使用的是 Apollo Server,请阅读设置文档中有关如何设置上下文的信息。

    还有这里,graphqlOptions.context:

    context 是一个可以在每个解析器中作为第三个参数访问的对象。这是根据当前请求传递信息的好地方。

    客户端

    在客户端,上下文与Apollo Link 和网络层有关。

    关于Apollo Link Context

    由于链接是用来组合的,它们需要一种简单的方法来组合 将有关请求的元数据沿着链接链发送。

    ...

    上下文发送到服务器,而是用于链接到链接的通信。

    【讨论】:

      猜你喜欢
      • 2021-09-09
      • 2021-10-21
      • 2013-02-02
      • 2021-12-28
      • 2017-10-15
      • 2017-08-01
      • 2018-09-15
      • 2019-12-09
      • 2020-10-18
      相关资源
      最近更新 更多