GraphQL 规范

wanxger1 分钟阅读

Type (类型)

首字母必须大写。

Field (类型)

首字母必须小写。

Mutation (变更类型)

Field (字段)

Name (名称)

以动词开头,辅以单词予以区别和解释, 如: createUser, loginWithPhoneAndPasswort

Arguments (参数)

有且仅有一个参数且名为 input,且其类型为输入类型,类型名为字段名称首字母大写后跟 Input。

该输入类型需要自定义,其内必然包含可为空的字段 clientMutationId 。

返回值类型

返回值的类型需要自定义,其内必然包含可为空的字段 clientMutationId 。

其他

每个变更操作,在 Mutation 下单独定义一个 FIELD 。

Query (查询类型)

Name (名称)

以名词(结合单复数形式)结尾,辅以限定词予以区别, 如: me, uploadToken, user, users

Arguments (参数)

需要的参数逐一定义。

返回值类型

返回值的类型需要自定义。带有页码信息的类型名称,必须为复数形式且以 Connection 结尾。

resolve

  • 字段处理都放入单独 resolve;
  • resolve 内仅进行权限相关操作;
  • resolve 里不要出现子字段处理;
  • 复杂处理交给 service。