小编use*_*105的帖子

使用 graphql-tools 来模拟 GraphQL 服务器似乎坏了

我遵循了有关使用 graphql-tools 来模拟 GraphQL server 的文档,但是这会引发自定义类型的错误,例如:

Expected a value of type "JSON" but received: [object Object]
Run Code Online (Sandbox Code Playgroud)

关于模拟的 graphql-tools 文档明确声明它们支持自定义类型,甚至提供了使用来自 graphql-type-json 项目的 GraphQLJSON 自定义类型的示例。

在 github 上提供了一个解决方案演示,它使用 graphql-tools 成功模拟 GraphQL 服务器,但这依赖于对构建的架构进行猴子修补:

// Here we Monkey-patch the schema, as otherwise it will fall back
// to the default serialize which simply returns null.
schema._typeMap.JSON._scalarConfig.serialize = () => {
    return { result: 'mocking JSON monkey-patched' }
}

schema._typeMap.MyCustomScalar._scalarConfig.serialize = () => {
    return mocks.MyCustomScalar()
}
Run Code Online (Sandbox Code Playgroud)

可能我在演示中做错了什么,但是如果没有上面的猴子补丁代码,我会收到关于上面提到的自定义类型的错误。

有没有人有比我的演示更好的解决方案,或者任何关于我可能做错了什么的线索,以及我如何更改代码以便演示在不修补模式的情况下工作? …

graphql

5
推荐指数
1
解决办法
896
查看次数

标签 统计

graphql ×1