如何使用 GraphQL ruby​​ gem 公开标量类型

Posted

技术标签:

【中文标题】如何使用 GraphQL ruby​​ gem 公开标量类型【英文标题】:How to expose Scalar Types with GraphQL ruby gem 【发布时间】:2017-09-06 05:41:08 【问题描述】:

我正在创建一个项目来围绕现有 API 实现 GraphQL,并且我正在尝试添加新的标量类型(分别为 idtitle)以围绕我的查询提供结构。

这是我的目标查询架构:

query
  allPlaylists 
    id 
    title
  

我已阅读 gem 的 documentation regarding Scalar Types,但不清楚我应该在哪里放置新的 ScalarType 定义。

这是我的查询的 sn-p,我的完整仓库也是 saved on GitHub:

// query_type.rb

Types::QueryType = GraphQL::ObjectType.define do
  name "Query"
  # Add root-level fields here.
  # They will be entry points for queries on your schema.

  field :allPlaylists, types.String do
    description "Playlists that belong to the user"
    resolve ->(obj, args, ctx) 
      Playlist.all.map  |x| x 
    
  end
end

如您所见,我目前只定义了allPlaylists root-level 查询。

尽管文档对此相当不清楚,但我确实计划在我找到解决方案后提交 PR 以帮助澄清这一点。或者,如果有任何工作示例我可以参考,我将非常欢迎。

【问题讨论】:

【参考方案1】:

根据clarification from the gem contributors 的一些说法,定义对象类型是这项工作的正确工具,而不是缩放器类型

【讨论】:

以上是关于如何使用 GraphQL ruby​​ gem 公开标量类型的主要内容,如果未能解决你的问题,请参考以下文章

无法理解使用带有 graphql-ruby gem 的 ActionCable 的 GraphQL 订阅

如何使用 graphql-ruby 测试 GraphQL 模式?

Ruby:如何安装特定版本的 ruby​​ gem?

ruby ide的gem包如何安装

如何使用 ruby​​gem 'rodf' 添加电子表格列?

如何升级我的本地自定义 gem“my_gem”的 ruby​​ 版本