问题标签 [gqlgen]

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 回答
947 浏览

error-handling - 使用 gqlgen + go gin 自定义错误状态代码

最近我一直在将我的 GO REST API 更新为graphQl API,我遇到了无法使用 gqlgen 自定义状态代码的问题。

我得到的回应

标头

预期的标题

任何帮助都会非常感激!

0 投票
0 回答
171 浏览

graphql - 将标头转发到实现

我正在构建一个以 gqlgen 和 apollo federation 作为网关的 graphql api。

在 gqlgen 中,我有三个服务:静态页面、帐户、身份验证。

我正在使用阿波罗联盟作为网关。

对于 auth 部分,我需要像r.Header.Get("Authorization")中间件一样获取 Authorization 标头。但它是空的。

如何将标头从 apollo 联合网关传递到 gqlgen 服务器?

0 投票
1 回答
388 浏览

mysql - 将 json 数组解组为 struct 数组

我正在使用Mysql 8. 我还利用99designs/gqlgen基于 GraphQL 模式自动生成结构。在扫描 MySql 响应时,我将重复使用相同的结构。最重要的是,在制作原型时,我想在我的表中添加一些 JSON。所以结构是:

由于存储(提供Value())更简单,我成功地将 Skus 作为顶级 JSON 存储到数据库中。看起来像这样:

现在,我如何将这个值从 DB 中取出并返回到结构内的指针数组中,而不需要太多麻烦?当然,理想情况下,它应该在不更改底层结构的情况下完成,因为它是自动生成的。

更新: 添加调试信息。我需要将 DB 行读入 CustomizedItemView,它基本上反映了上面的 CustomizedItemInput:

当然,当我说“没有喧嚣”时,我的意思是将 DB 行无缝地提取到结构中。我可以添加map[string]interface{}{}所有的花里胡哨并获得价值。但我想让它整洁,比如:

我得到的错误是:

(8 因为我为示例删除了一些字段)。主要问题是我无法Scan()为未命名的类型创建。我创建了包装器,Value()因为我的插入更详细,并且我使用其中的包装器类型进行类型转换:

,这对于插入来说是可以的,因为会有一些不属于输入结构的值。但我希望至少能将扫描到的值自动扫描到 View 结构中。

0 投票
1 回答
554 浏览

postgresql - 将 JSON.RawMessage 转换为 JSON

我正在使用gqlgen,sqlxpgx. 我正在尝试为sqlx's使用自定义标量types.JSONText

jsonb在项目表中有这个属性字段。

我有这些模型结构:

我有这个 graphql 架构:

我可以成功插入数据库,但在检索时出错。

这是我从 db 查询中得到的日志:

我试图编组属性标量:

添加自定义标量类型gqlgen.yml

但我得到的是字符串而不是 json:

所需的输出是:

我做错了什么?


这是我的尝试:

如果我从 Item 结构中的 Attributes 中删除了指针,则会gqlgen引发错误:

这将返回所需的结果,但我不知道如何将它与真实数据一起使用:

查询结果:

0 投票
1 回答
390 浏览

postgresql - 如何将字符串转换为 sqlx.types.JSONText?

我正在使用gqlgen,sqlxpgx. 尝试使用自定义标量在 postgres 数据库中存储为 jonb 类型。

的期望结果a *Attributes应该是{"target": "localhost"},在 postgres 中存储为 jsonb:

我做错了什么?


编辑:添加样本突变。

这是样本突变:


编辑:添加 sqlx 查询。

要插入的查询:

0 投票
1 回答
315 浏览

rest - go get 失败:github.com/99designs/gqlgen"

我正在尝试下载“github.com/99designs/gqlgen”包。我想将它用作包而不是模块。我只想在 graphql 中启动新服务。但是当我尝试下载“github.com/99designs/gqlgen”包时,我收到以下错误:

go: github.com/russross/blackfriday/v2@v2.0.1 用于两个不同的模块路径(github.com/russross/blackfriday/v2 和 gopkg.in/russross/blackfriday.v2)

我的 go.mod 文件中有以下内容替换 gopkg.in/russross/blackfriday.v2 => github.com/russross/blackfriday/v2 v2.0.1

仍然得到同样的错误。

以下是 go.mod

0 投票
1 回答
230 浏览

go - 如何UT上传文件

我正在为我的 GraphQL API 制作 UT。我需要在上传文件的地方测试突变。我在这个项目上使用 gqlgen。

c.MustPost 恐慌并发送错误:

如何发送localFile到我的 API?我想过通过 curl 来实现它,但我不确定这是否是一种干净的方式。

0 投票
1 回答
718 浏览

go - gqlgen 从解析器设置 cookie

我正在使用杜松子酒和 gqlgen。我需要从解析器设置 cookie,但我的解析器中只有上下文和来自 graphQL 的输入。这个问题已经在github中得到解答。ctx.Writer.Write但是这个不同,因为当你尝试通过时,我无法更改并且什么也没有ctx.Next。因为gin不能那样工作。

我已经解决了这个问题,我想在下面回答我自己的问题。

0 投票
1 回答
2659 浏览

go - 如何在graphql中获取响应中的所有字段而不在查询中传递任何字段名称

我正在使用 golang 构建一个 graphql 界面。我正在使用 gqlgen 包来实现它。在这里,我需要在查询中传递所有字段名称以得到响应,但问题是我的数据很大,它有 30 多个字段,很难在查询中传递所有字段。这是我的查询

像这样我需要传递所有字段名称。

相反,我正在寻找一个将返回所有字段而不传递任何字段的结果。我的意思是,如果不传递任何字段名称,它应该全部返回。

例如

0 投票
2 回答
3248 浏览

postgresql - gorm中不受支持的关系

我正在尝试从一对多关系预加载数据,但我总是收到“ApiKeys:架构客户端不支持的关系”错误。(结构是指针的原因是因为我使用的是 gqlgen,这是默认配置)

这就是调用 ApiKeys 的 Preload 的函数。

我通过 gorm 的文档了解到关系的外键是 ClientID,尽管不是明确的(也不能通过指定它来工作)我在这里理解有什么问题吗?