1

我正在为将查询 GraphQL 服务器的应用程序编写客户端代码。在我的代码中的几个地方,我正在传递最终将变成查询变量的数据,因此它需要针对GraphQLInputType我的模式中的特定对象进行验证。在查看 graphql-js 提供的一些实用程序时,看起来isValidJSValue检查器正是我正在寻找的东西,它的评论甚至提到它旨在用于执行此操作。

问题是我无法访问要作为 JS 对象验证的 GraphQL 类型,我很确定该函数正在寻找它。我将我的模式(作为 npm 依赖项)导入为 JSON,或者我也有它的模式表示法。是否有其他实用程序可以用来从其中一个来源获取我需要的 JS 类型,然后使用它来检查我的数据isValidJSValue?还是有其他我没有想到的方法可以解决这个问题?

4

1 回答 1

0

您可以使用已导入的 JSON 模式来构建实际的 GraphQL 模式实例,使用buildClientSchema此处:https ://github.com/graphql/graphql-js/blob/master/src/utilities/buildClientSchema.js

types然后,在结果模式的字段中查找您的输入类型,然后调用它应该是一件简单的事情isValidJSValue

不过,我很好奇 - 为什么在发送之前验证客户端上的值,而不是仅仅依靠服务器将执行的验证?

于 2016-07-13T01:27:08.547 回答