跳到主要内容

清晰接口:生成GraphQL解析器签名

从 GraphQL Schema 生成 TypeScript、Flow 或 Java 解析器签名,检查 resolver 的返回值和参数类型。生成过程在浏览器的 Web Worker 中执行,输出需要与项目中的解析器实现配合使用。

GraphQL Schema

Documents

使用方法

  1. 将 GraphQL SDL 粘贴到 GraphQL Schema 输入框;使用下面的最小示例时,请清空 Documents 输入框。
  2. 在输出区域选择 TypeScript Resolvers Signature、Flow Resolvers Signature 或 JAVA Resolvers Signature。下面展示默认 TypeScript 模式的输出节选。
  3. 复制完整输出到项目。为 Query.hello 等字段编写实际 resolver,并检查上下文、数据库模型和自定义标量的类型。

GraphQL Schema 输入(Documents 留空)

type Query { hello: String! }

TypeScript 输出节选:Query 解析器签名

export type QueryResolvers<ContextType = any, ParentType extends ResolversParentTypes['Query'] = ResolversParentTypes['Query']> = {
  hello?: Resolver<ResolversTypes['String'], ParentType, ContextType>;
};

功能与限制

示例只展示完整输出中的 QueryResolvers 部分;使用时还需要完整输出中的 Resolver、ResolversTypes 等辅助类型。

String! 表示 GraphQL 返回值不可为 null;生成签名里的 hello? 表示 resolver 映射中的该项可省略,两者含义不同。

生成签名不会连接数据库、调用 API 或自动完成业务逻辑,也不会验证实际 resolver 的运行结果。

Documents 会在 TypeScript 模式下参与生成;它必须使用 Schema 中存在的字段。Flow 和 Java 模式不使用这个输入。自定义标量和项目配置需要在生成后核对。

输入可能在同一标签页切换工具后保留,共用设备使用完毕请清空。