公共 GraphQL 指令

Posted

技术标签:

【中文标题】公共 GraphQL 指令【英文标题】:Public GraphQL directives 【发布时间】:2020-08-28 10:32:16 【问题描述】:

这是我的架构。

Query 
    me: User @isAuthenticated

当我添加 @isAuthenticated 时,它在服务器端处理,但在 GraphQL Playground 中,指令不显示。我有一些基于角色的访问系统,我想公开显示所有角色指令,以便 API 用户可以了解哪个查询需要哪个角色。

【问题讨论】:

【参考方案1】:

架构指令可用于转换架构或为其添加功能,但不能用于向客户端公开任何类型的元数据。关于如何实现这种功能,here 正在进行讨论。目前,最好的办法是使用描述。

"""
**Required roles**: `ADMIN` 
"""
Query 
  me: User @isAuthenticated

【讨论】:

哦,这似乎是非常激烈的讨论。我正在使用描述,但它似乎是重复的。我想我们将不得不等待规范完成。

以上是关于公共 GraphQL 指令的主要内容,如果未能解决你的问题,请参考以下文章

获取公共 graphql 订阅的所有订阅者的列表

GraphQL 不适用于公共 API

GraphQL:未知指令包括

GraphQL 通过公共网关服务订阅内部服务

我可以使用 GraphQL 列出 Github 的公共存储库吗?

通过公共网关服务对内部服务进行GraphQL订阅