如何将 graphql-type-json 包与 GraphQl 一起使用

2023-11-26

我无法让 GraphQL 识别 JSON 标量类型。

我遵循了[apollo 文档](http://dev.apollodata.com/tools/graphql-tools/scalars.html#Using-a-package) 为我的架构定义 JSON GraphQL 标量类型:

Schema:

const SchemaDefinition = `
   scalar JSON
   schema {
     query: Query
     mutation: Mutation
  }
`

export default [
  SchemaDefinition,
  Query,
  Mutation,
  ...
]

测试类型:

const Test = `
  type Test {
    bodyJson: JSON
 }`

解析器:

import GraphQLJSON from 'graphql-type-json'

const QueryResolver = {
  Query: {
    viewer(root, args, ctx) {
      return User.query()
        .where('id', ctx.state.user)
        .first()
     }
  }
}

const scalarJSON = {
  JSON: GraphQLJSON
}

export default {
  ...QueryResolver,
  ...ViewerResolver,
  ...scalarJSON
  ...
}

我正在使用 PostgreSQL,我正在查询的列 (body_json) 的数据类型为 jsonb。

如果我通过 GraphiQL 测试我的架构,当我直接从数据库返回值(我使用 Knex 进行查询)时,我会从 GraphQL 收到以下错误消息:

需要一个“JSON”类型的值,但收到:[object Object]

如果我首先对返回值使用 JSON.stringify,则会收到此错误:

“预期为 \"JSON\" 类型的值,但收到:{\"key\":\"test\"}"

关于我可能做错了什么有什么建议吗?


我在解析器中解析了这样的自定义标量 JSON

 JSON: {

__serialize(value) {
    return GraphQLJSON.parseValue(value);
} }

它对我来说效果很好。我想这会对你有帮助

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何将 graphql-type-json 包与 GraphQl 一起使用 的相关文章

随机推荐

  • 全屏背景视频并使其居中

    我正在尝试创建一个网站 其中有一个使用 HTML5 播放的背景视频 这一切都很完美 它按照我想要的方式工作 但我也希望将图像保持在屏幕中央 即使用户调整浏览器大小也是如此
  • 我们可以对 MVC 的视图(“V”)进行单元测试吗?

    复制 对视图进行单元测试 有没有办法对 View 进行单元测试 我确信我们可以测试模型和控制器 但不知道如何对视图进行单元测试 View 值得测试吗 你可以启用 MVC 视图的编译 这很有帮助 否则我认为不值得 毕竟 您只对两件事感兴趣 视
  • 计算函数签名中的位置参数

    我有以下函数签名 my signature def myfunction x s c None d None some irrelevant function body 我需要位置参数的数量 如何返回位置参数 x s 的数量 2 关键字参数
  • 检测程序终止(C、Windows)

    我有一个程序必须在完成之前执行某些任务 问题是有时程序会因异常而崩溃 例如无法访问数据库等 现在 有什么方法可以检测异常终止并在异常终止之前执行一些代码吗 Thanks 代码表示赞赏 1 Win32 Win32 API 包含一种通过以下方式
  • Perl WWW::Mechanize(或 LWP)获取重定向 url

    所以我正在使用WWW Mechanize抓取网站 它工作得很好 除非我请求一个 url 例如 http www levi com 我被重定向到 http us levi com home index jsp 对于我的脚本 我需要知道发生了此
  • 批处理脚本如何执行相当于“cat << eof”的操作?

    在Linux Bash 中有一个非常有用的功能将文字转储到另一个文件 如下所示 cat gt see txt lt lt EOF contents going into my file EOF 我需要的是 Windows 批处理脚本的等效项
  • SSD mobilenet模型无法检测较远距离的物体

    我已经使用自定义数据集 电池 训练了 SSD Mobilenet 模型 下面给出了电池的示例图像 并附上了我用来训练模型的配置文件 当物体靠近相机时 使用网络摄像头测试 它以超过的概率准确地检测到物体0 95但是当我将物体移动到更远的距离时
  • jQuery .css() 函数不返回预期值

    好吧 我已经搜索了 jQuery 文档 需要有人专门维护 我已经搜索了 SO 并且我已经搜索了 Google 我找不到这个问题的答案 In Words 过去 我记得 jQuery 是这样工作的 myObj width 返回计算出的宽度 my
  • Apache Cordova:无法加载资源:服务器响应状态为 404(未找到)

    当我在 Android 模拟器或 Android 设备上运行应用程序时 我在所有 AJAX 请求上收到以下错误 Failed to load resource the server responded with a status of 40
  • 在 C# 中解析字符串中“坏”单词的最佳方法是什么?

    我在想这样的事情 foreach var word in paragraph split if badWordArray Contains word do something about it 但我确信有更好的方法 提前致谢 UPDATE我
  • 防止重写和/或隐藏基类函数 (C++ 11)

    自从学习 C 以来 我有一段时间甚至想阻止基类非虚函数的隐藏 我不确定这是否符合道德 但 C 11 功能给了我一个想法 假设我有以下内容 基地 h ifndef baseexample h define baseexample h incl
  • 使用可变参数和泛型时出现 ClassCastException

    我正在使用 java 泛型和可变参数 如果我使用下面的代码 我会得到一个ClassCastException 即使我根本不使用强制转换 更奇怪的是 如果我在 Android dalvik 上运行这个 异常中不会包含堆栈跟踪 如果我将接口更改
  • 检查s3存储桶中是否存在文件夹

    如何使用 Ruby on Rails 检查我的 s3 存储桶中是否存在某个文件夹 我正在使用 AWS S3 官方 gem 初始化全局连接后 AWS S3 Base establish connection access key id gt
  • 替换 MYSQL 中的非 ASCII 字符

    要将非 ASCII 字符转换为 ASCII 我使用了以下查询 UPDATE tablename SET columnToCheck CONVERT columnToCheck USING ASCII WHERE columnToCheck
  • 芹菜异常处理

    假设我有这个任务定义 def some other foo input raise Exception This is not handled return input app task bind True max retries 5 so
  • 专门化静态 constexpr 数据成员

    我有一个类来描述某种类型的一些特征 template
  • Hammer JS 无法与主干一起工作

    我正在尝试让 Hammer JS 事件与主干一起工作 但无法让它响应事件 我已经尝试过以下方法 http cijug ne t tech 2013 01 16 backbone hammer https gist github com kj
  • 如何调整 Google AdWords 跟踪像素以在 AngularJS 应用程序中使用?

    如何调整 AdWords 跟踪像素以使其在 AngularJS 应用程序中按预期运行 典型的跟踪代码如下所示
  • 更改 UIBarButtonItem 的宽度[重复]

    这个问题在这里已经有答案了 我怎样才能改变宽度UIBarButtonItem到 29 像素 属性宽度不起作用 我不想创建一个UIButton并使用initWithCustomView因为我希望方形背景适应导航栏颜色 我正在使用initWit
  • 如何将 graphql-type-json 包与 GraphQl 一起使用

    我无法让 GraphQL 识别 JSON 标量类型 我遵循了 apollo 文档 http dev apollodata com tools graphql tools scalars html Using a package 为我的架构定