【问题标题】:GraphQL Prisma Client connect not workingGraphQL Prisma 客户端连接不起作用
【发布时间】:2020-04-17 05:18:19
【问题描述】:

我正在按照https://www.howtographql.com/graphql-js/0-introduction/ 此处的教程使用 GraphQL

但是,我不能让嵌套对象工作,它总是有空值

下面是突变和架构的快照

链接必须通过postedBy链接到用户

源代码在这个公共仓库https://github.com/cuongchau93/hello-graphql-express

我已经被困了2天,所以我决定在这里问。 任何帮助将不胜感激。

【问题讨论】:

    标签: prisma express-graphql


    【解决方案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
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-03-03
    • 2019-06-11
    • 2014-05-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-08
    • 2020-12-26
    相关资源
    最近更新 更多