问题标签 [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.
graphql - 将标头转发到实现
我正在构建一个以 gqlgen 和 apollo federation 作为网关的 graphql api。
在 gqlgen 中,我有三个服务:静态页面、帐户、身份验证。
我正在使用阿波罗联盟作为网关。
对于 auth 部分,我需要像r.Header.Get("Authorization")
中间件一样获取 Authorization 标头。但它是空的。
如何将标头从 apollo 联合网关传递到 gqlgen 服务器?
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 结构中。
postgresql - 将 JSON.RawMessage 转换为 JSON
我正在使用gqlgen
,sqlx
和pgx
. 我正在尝试为sqlx
's使用自定义标量types.JSONText
。
我jsonb
在项目表中有这个属性字段。
我有这些模型结构:
我有这个 graphql 架构:
我可以成功插入数据库,但在检索时出错。
这是我从 db 查询中得到的日志:
我试图编组属性标量:
添加自定义标量类型gqlgen.yml
:
但我得到的是字符串而不是 json:
所需的输出是:
我做错了什么?
这是我的尝试:
如果我从 Item 结构中的 Attributes 中删除了指针,则会gqlgen
引发错误:
这将返回所需的结果,但我不知道如何将它与真实数据一起使用:
查询结果:
postgresql - 如何将字符串转换为 sqlx.types.JSONText?
我正在使用gqlgen
,sqlx
和pgx
. 尝试使用自定义标量在 postgres 数据库中存储为 jonb 类型。
的期望结果a *Attributes
应该是{"target": "localhost"}
,在 postgres 中存储为 jsonb:
我做错了什么?
编辑:添加样本突变。
这是样本突变:
编辑:添加 sqlx 查询。
要插入的查询:
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
go - 如何UT上传文件
我正在为我的 GraphQL API 制作 UT。我需要在上传文件的地方测试突变。我在这个项目上使用 gqlgen。
c.MustPost 恐慌并发送错误:
如何发送localFile
到我的 API?我想过通过 curl 来实现它,但我不确定这是否是一种干净的方式。
go - gqlgen 从解析器设置 cookie
我正在使用杜松子酒和 gqlgen。我需要从解析器设置 cookie,但我的解析器中只有上下文和来自 graphQL 的输入。这个问题已经在github中得到解答。ctx.Writer.Write
但是这个不同,因为当你尝试通过时,我无法更改并且什么也没有ctx.Next
。因为gin
不能那样工作。
我已经解决了这个问题,我想在下面回答我自己的问题。
go - 如何在graphql中获取响应中的所有字段而不在查询中传递任何字段名称
我正在使用 golang 构建一个 graphql 界面。我正在使用 gqlgen 包来实现它。在这里,我需要在查询中传递所有字段名称以得到响应,但问题是我的数据很大,它有 30 多个字段,很难在查询中传递所有字段。这是我的查询
像这样我需要传递所有字段名称。
相反,我正在寻找一个将返回所有字段而不传递任何字段的结果。我的意思是,如果不传递任何字段名称,它应该全部返回。
例如
postgresql - gorm中不受支持的关系
我正在尝试从一对多关系预加载数据,但我总是收到“ApiKeys:架构客户端不支持的关系”错误。(结构是指针的原因是因为我使用的是 gqlgen,这是默认配置)
这就是调用 ApiKeys 的 Preload 的函数。
我通过 gorm 的文档了解到关系的外键是 ClientID,尽管不是明确的(也不能通过指定它来工作)我在这里理解有什么问题吗?