JSON 转 GraphQL

本地处理
app.graphql.view

也可通过 #data={"name":"Ada"}#url=... 灌入数据,读完即从地址栏清除。

由一份 JSON 示例推断 GraphQL 类型。调试 GraphQL 响应或给 mock 服务起草稿时,比从零手写 type 更快。对象会拆成命名 type,数组对应列表。

标量推断

字符串、数字、布尔会对应到 GraphQL 标量。嵌套对象再拆成独立 type,避免全部摊成 JSON。

null 和混合类型需要你确认生成结果是否该用联合类型。

嵌套 type

对象会拆成命名类型,数组对应列表。深层结构会生成多个 type 块,可直接贴进 schema 文件当草稿。

字段是否可空( ! )请按业务补全。

当起点

生成后请补 ! 必填、枚举和自定义标量。本页没有 query / mutation 根操作。

REST 团队若只要 JSON 契约,用 Schema 页更合适。

示例

示例 JSON
{
  "user": {
    "id": "u_1",
    "name": "Ada"
  }
}
可能得到的类型草稿
type User {
  id: String
  name: String
}

type Root {
  user: User
}
这是完整的 GraphQL schema 吗?

只是从数据形状推出来的 type,没有 query / mutation。

和 JSON Schema 怎么选?

REST 文档常用 Schema;GraphQL 服务用本页更顺。

字段名合法吗?

会尽量生成可用标识符。奇怪的键名请手工改成 GraphQL 允许的字段名。

会上传示例吗?

不会。推断在浏览器里完成。

推荐工作流

  1. 从 GraphQL playground 或日志里复制一份典型响应。
  2. 生成 type,检查嵌套是否拆开、列表是否正确。
  3. 补必填、枚举、自定义标量,再写入服务端 schema。
  4. 需要 REST 文档时改用 JSON Schema 页。

一份响应推不出完整图。mutation 入参、接口分页约定仍需手写。