【问题标题】:Handle private mutations with Apollo federation使用 Apollo 联邦处理私有突变
【发布时间】:2020-03-12 16:17:42
【问题描述】:

在微服务架构中,我确实有 GraphQL 突变被认为是由最终用户使用,还有一些只是内部的。

我打算搬到阿波罗联邦。是否有一种内置方法可以将突变声明为意外,以便最终用户无法访问但可以由内部服务直接调用?

我不确定最好的设计是什么;我不希望最终不得不为微服务运行两台不同的服务器:一个公共服务器和一个私有服务器。

【问题讨论】:

    标签: graphql apollo-federation


    【解决方案1】:

    简而言之:不,没有内置的或常规的方式将架构的某些部分声明为“私有”。您可以设计自己的 @private schema directive,它可以使用需要服务 API 密钥而不是用户访问令牌的身份验证检查来包装解析器。这些突变在您的模式中仍然可见——也就是说,它们可能会出现在任何自动生成的 API 文档中——但普通用户实际上无法使用它们。在 this Apollo Server issue 中,一位 Apollo 开发人员提到计划为此目的提供内置的 @internal 指令,但它似乎还不可用。

    【讨论】:

      猜你喜欢
      • 2020-04-11
      • 2017-09-14
      • 2018-09-02
      • 2021-03-11
      • 2019-07-16
      • 1970-01-01
      • 2019-10-23
      • 2018-05-21
      • 1970-01-01
      相关资源
      最近更新 更多