问题标签 [graphql-ruby]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
572 浏览

ruby-on-rails - 在 graphql 分页中发现名称“连接”的重复类型定义

我已经使用连接助手在graphql apis中实现分页。我想为同一个模型多次实现连接,但它给了我重复的类型错误。任何人都可以提出解决方案来支持多个相同模型的 api 的分页。我使用了下面的代码。

connection :employees_index, function: Queries::Employees::Index.new

connection :employees_user_index, function: Queries::Employees::UserIndex.new

0 投票
1 回答
1780 浏览

ruby - 向 graphql 参数添加描述/注释?

是否可以为使用 graphql 的查询中接受的参数添加描述或注释?

我有一个查询如下:

如您所见,目前我正在将参数的描述添加到字段的描述中。在它描述我看到的类型的 graphiql 模式中:

当我点击 from_date 它描述了一个字符串。反正有没有描述字符串的格式?例如。“yyyy/mm/dd 格式的字符串。”

谢谢!

0 投票
1 回答
479 浏览

ruby-on-rails - 如何让 graphql-ruby 从 ActiveRecord 模型中的查询中序列化计算/投影/派生/非数据库列

使用

我需要访问 new_column 值作为模型实例的属性。

我不想在模型上创建计算属性;数据必须来自构造的查询。必须加载非数据库列的数据,因为模型实例被#to_a

我已经阅读了在 ActiveRecord 查询中合并自定义 SELECT 子句在 Rails ActiveRecord 查询中返回自定义列,它们看起来相关但不相关。

具有嵌套模型和派生列值的 ActiveRecord 查询?通过 ActiveRecord 访问 SQL 计算列,并将计算列添加到 ActiveRecord 查询看起来像是在回答我的问题,但他们似乎说来自源查询的额外列值会自动附加到模型实例,而一个只是添加访问器以获取它们(或不获取它们)。

我已将attr_accessor新列的名称添加到模型的类中,但是当我将其作为 graphQL 响应返回时,这些属性似乎没有被序列化。我在哪里可以找到有关 AciveRecord#attributes 数组的实际机制以及如何向其中添加非数据库列的信息?

干杯

0 投票
0 回答
271 浏览

ruby - Properly structuring a GraphQL API that wraps different REST endpoints

this is my first post on stackoverflow (Long time reader). I mainly come from a Python background and am fairly new to Ruby. I'm wondering on what's the recommended way to structure a Ruby GraphQL API like the following. Each one of the keys has a resolver that requests a different websites API to fetch the related data. These are currently nested under cars in the following way (I removed the actual http sources they are hitting since you need api keys):

An example query:

This works fine but I feel like the approach isn't using GraphQL to the fullest. Some immediate problems when I look at it is that If you were to make a query like so, it would now make two API requests when only one is needed (the customer is not requesting any fields on cars, just inquiries). Inquiries is an attribute of cars, so I think it makes sense to be nested under cars?

I've looked into connections, but I'm not sure if this is the correct use case for them. Is someone with experience in designing solid GraphQL APIs able to weigh in? Should I be trying to leverage unions or interfaces somehow? Thank you so much.

0 投票
1 回答
802 浏览

graphql - 如何处理可以返回graphql中几种标量类型之一的字段

在graphql(使用优秀的graphql-ruby gem)中,我试图返回一个对象,其字段可以等于布尔值、整数或字符串。我最初的想法是返回布尔值、整数或字符串的联合,但 graphql-ruby 告诉我联合不能包含标量类型(我想这是规范强加的约束,而不是 graphql-ruby)。

我能想到的解决方案(不是很好)是将值作为 json 字符串返回并在客户端解析它。有没有更好的方法来处理可能是几个标量之一的返回值?

谢谢!

0 投票
0 回答
706 浏览

ruby-on-rails - GraphQL - 仅允许输入类型的某些值

我正在使用[graphql][1]gem 构建一个 GraphQL API。

例如,在定义输入时——

该参数scope实际上是一个枚举字段,可以接受smallbig。我如何在输入中定义这个参数只接受这两个值?是否可以在生成文档时也将其显示在文档中,以便 UI 开发人员对此也很清楚?

当使用Grape生成 REST API 时,我通常会使用 tovalues参数来定义这样的东西。

0 投票
1 回答
370 浏览

graphql - 为什么 graphql-ruby 函数定义通过 kwarg 工作,而不是通过块中的 function 方法工作?

在哪里

GraphQL::ObjectType.define块中字段定义的这种变体可以正常工作:

但是对于相同的查询,这将失败并显示错误消息“字段'd2'不接受参数'id'”

在定义了这些字段之后,两者d1d2target.fields['d?'].function相同(具有不同的对象 ID)。但看起来在块版本中,该功能并未应用于该领域。

field当我跳过帮助程序并像这样定义字段时,它也不起作用:

我调用函数方法错误吗?任何建议表示赞赏。

0 投票
1 回答
481 浏览

search - GraphQL 基于游标的分页转换为分页或偏移分页

我们的应用程序使用 Algolia 进行搜索,它允许两种典型的分页形式:按页page=3&hitsPerPage=5或按偏移量offset=10&length=5

GraphQL 首选项基于光标的分页,其中提供了记录 ID 和长度friendsConnection(first:5 after:"Y3Vyc29yMQ==")

无论如何将基于光标的分页请求中的信息转换为页面或偏移分页请求?

0 投票
2 回答
727 浏览

ruby-on-rails - GraphQL Ruby N+1 批处理问题

我在 Ruby 中使用 GraphQL 和 Batch & QueryResolver gems。除了这个问题,他们工作得很好,似乎无法弄清楚为什么会发生这种情况。它似乎正在加载“所有关系”,然后不久之后加载“第一:X”关系。这导致数百个 ID 被传递到SELECT * ... IN (...)查询中,而不是先做 hte: X 在IN ()查询中。这是我的查询:

这是在后台执行的查询...

正如您所看到的,它加载了很多不必要的用户,尽管我正在为用户的解析器执行此操作:

你以前也遇到过这种情况吗?

0 投票
1 回答
2108 浏览

ruby-on-rails - 如何在服务器端使用 graphql-ruby 传递多部分表单数据和文件上传?

以下代码用于突变

和 file_type.rb 是

它不工作。apollo 客户端正在使用 apollo-upload-client 上传文件,但由于文件为空,它会出错。有什么解决办法?