GraphQL Prisma 客户端连接不起作用
Posted
技术标签:
【中文标题】GraphQL Prisma 客户端连接不起作用【英文标题】:GraphQL Prisma Client connect not working 【发布时间】:2020-04-17 05:18:19 【问题描述】:我正在按照https://www.howtographql.com/graphql-js/0-introduction/ 此处的教程使用 GraphQL
但是,我不能让嵌套对象工作,它总是有空值
下面是突变和架构的快照
链接必须通过postedBy链接到用户
源代码在这个公共仓库https://github.com/cuongchau93/hello-graphql-express
我已经被困了2天,所以我决定在这里问。 任何帮助将不胜感激。
【问题讨论】:
【参考方案1】:很难回答您的具体问题,但如果它有助于删除 info 对象的 postedBy
部分(返回什么)可能会解决错误消息。
这可能无法解决您的问题,但可能会暴露一个更深层次的问题,您可以通过自己的方式解决这个问题。
mutation
post(
url: "www.graphqlconf.org"
description: "An awesome GraphQL conference!"
)
id
我知道的帮助不大,虽然它可能会让你走得更远。
生成 GraphQL Schema 也可能有很大帮助,因为它允许您遍历每个节点的输入、连接等。
将以下内容添加到您的 prisma.yml
文件中将使架构能够由 Prisma 生成:
generate:
- generator: graphql-schema
output: ./generated/prisma.graphql
在我看来,您有一个相当复杂的关系(用户和链接之间),这可能会在您生成 graphql 架构时得到澄清。
【讨论】:
感谢您的回答,实际上我确实注意到删除postedBy 会得到成功的响应。但是,问题是为什么即使我让用户链接到链接也没有建立连接,(用户通过标头中的不记名令牌链接)但新创建的链接也有用户为空(当返回错误时试图获得发布者) 我明白了,这行const userId = getUserId(context)
设置的userId
是null,还是棱镜createLink
函数返回的响应为null?
抱歉延迟响应,getUserId 确实返回预期值问题是虽然我遵循 prisma 语法,但postedBy 没有链接到该用户对象事件,即 let temp = context.prisma.createLink( url: args.url, description: args.description, postedBy: connect: id: userId , , info) 如file以上是关于GraphQL Prisma 客户端连接不起作用的主要内容,如果未能解决你的问题,请参考以下文章
如何在节点应用程序中使用 prisma graphql 订阅
如何在 docker 容器中连接 graphql 和 prisma?
Prisma、GraphQL 和 Apollo 中具有突变的数据关系和连接类型
从 prisma 生成的客户端访问 graphql 服务器中的数据类型